questions :
comment mettre le focus sur un EditorGadget ?
comment voir automatiquement la fin du texte dans un EditorGadget ? (EditorGadget(2001, 10, 160, 276, 140, #PB_Editor_ReadOnly | #PB_Editor_WordWrap) )
en le remplissant, on reste quand meme sur le tout premier mot...
!i!i!i!i!i!i!i!i!i! !i!i!i!i!i!i! !i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti Version de PB : 6.12LTS- 64 bits
OpenWindow(0, 0, 0, 322, 150, "EditorGadget")
EditorGadget(0, 8, 8, 306, 133)
; Créer un texte
For i = 1 To 20
Txt$ + "ABC" + Chr(10)
Next
; Mettre le texte dans le gadget
SetGadgetText(0, Txt$)
; Définir le gadget actif
SetActiveGadget(0)
; Ajouter une ligne (vide) à la fin
AddGadgetItem(0, -1,"")
; Puis enlever cette ligne en trop
RemoveGadgetItem(0, CountGadgetItems(0)-2)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
Possible aussi (je pense) avec API pour ne pas avoir à ajouter/supprimer une ligne.
Declare Start()
Declare Exit()
Start()
Procedure Start()
OpenWindow(0, 0, 0, 800, 600, "Test", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
EditorGadget(0, 10, 10, 500, 400, #PB_Editor_ReadOnly)
; Un peu de remplissage pour ce test
For n = 1 To 100
AddGadgetItem(0, -1, "Ligne " + Str(n))
Next
; Positionnement en fin d'editor
SendMessage_(GadgetID(0), #EM_SETSEL, -1, 0)
;Triggers
BindEvent(#PB_Event_CloseWindow, @Exit())
Repeat : WaitWindowEvent() : ForEver
EndProcedure
Procedure Exit()
End
EndProcedure