Publié : dim. 23/janv./2005 21:53
Suite à ton Post, je viens de me replonger dans le code car j'avais entrevue depuis d'autres possibilités; j'ai changé la façon de faire et j'ai rajouté la possibilité de paramétrer le Tab.
Code : Tout sélectionner
; By Nico
; le 23/01/05
Structure settextex
flags.l
codepage.l
EndStructure
text.settextex
#ST_SELECTION=2
text\flags=#ST_SELECTION
text\codepage=#CP_ACP
Texte.s="{\rtf\tab "
distance=10 ; équvaut à peu près à 10/2 espaces
; c'est pour donner un ordre d'idée
; car ça se calcule en unit.
If OpenWindow(0,0,0,320,220,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"Simulate Tab") And CreateGadgetList(WindowID(0))
EditorGadget (0,10,60,300,140,#PB_Container_Raised)
ButtonGadget(1, 10, 10, 300, 20, "Standard Button")
SetWindowLong_(GadgetID(0),#GWL_STYLE,GetWindowLong_(GadgetID(0),#GWL_STYLE)-#ws_tabstop)
SendMessage_(GadgetID(0),#EM_SETTABSTOPS,1,@distance)
AddGadgetItem(0, -1, "Texte$")
Repeat
EventID = WaitWindowEvent()
Select EventID
Case #PB_EventGadget
Select EventGadgetID()
Case 0
EndSelect
Case #WM_KEYDOWN
If EventwParam()=9
; Simulation du Tab avec du tag Rich Edit
SendMessage_(GadgetID(0), #EM_SETTEXTEX, text.settextex, @Texte)
EndIf
Case #WM_CLOSE
Quit=1
EndSelect
Until Quit=1
EndIf