Cette position serait l'endroit ou l'on clique dans le texte qui se trouve dans ce même editor.
Code : Tout sélectionner
;-PB 4.30
Enumeration
#Window_0
#editor
#Button_1
EndEnumeration
;}
Global NouveauTexte$, texte$,NbrDeCar
Procedure OpenWindow_Window_0()
If OpenWindow(#Window_0, 450, 200, 523, 193, "Window_0", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
EditorGadget(#editor, 10, 10, 500, 135)
SetGadgetText(#editor,"Mon editor plein de texte"+Chr(10)+Chr(10)+"des trucs, tout ça blabla"+Chr(10)+Chr(10)+"alors j'aimerai bien pouvoir placer mon curseur par exemple ici et qu'en"+Chr(10)+"cliquant sur le bouton, ça insère le mot cassoulet")
ButtonGadget(#Button_1, 8, 150, 505, 35, "clique ici pour insérer le mot cassoulet")
EndIf
EndProcedure
Procedure InserMot(gadget,mot$)
Texte.s=GetGadgetText(gadget)
NbrDeCar=Len(texte$)
; (... code à ajouter dont je n'ai aucune idée)
; text_Avant_Inser$= ???? ; ce qu'il y a après le curseur
; text_Apres_Inser$= ??? ; ce qu'il y a avant le curseur
NouveauTexte$=text_Avant_Inser$+mot$+text_Apres_Inser$
SetGadgetText(gadget,NouveauTexte$)
EndProcedure
OpenWindow_Window_0()
;{- Event loop
Repeat
Select WaitWindowEvent()
; ///////////////////
Case #PB_Event_Gadget
Select EventGadget()
Case #editor
Case #Button_1
MotAInserer.s="cassoulet"
InserMot(#editor,MotAInserer)
EndSelect
; ////////////////////////
Case #PB_Event_CloseWindow
Select EventWindow()
Case #Window_0
CloseWindow(#Window_0)
Break
EndSelect
EndSelect
ForEver
;
;}
Je n'ai pas trouver autre chose qu'un positionnement de pixel or je préfèrerai un position par rapport au curseur dans l'editor mais je pense que vous m'avez compris.