Seite 1 von 1
StringGadget - Cursor ans Ende setzen
Verfasst: 24.11.2007 15:46
von ThoPie
Hallo,
wie ist es möglich, den Cursor ans Ende eines gefüllten StringGadgets zu setzen?
Vielen Dank.
Re: StringGadget - Cursor ans Ende setzen
Verfasst: 24.11.2007 16:04
von Kiffi
ThoPie hat geschrieben:wie ist es möglich, den Cursor ans Ende eines gefüllten StringGadgets zu setzen?
kann man mit API machen. Ich habe unten mal eine Procedure
SelectAll()
erstellt, der man nur die Nummer des StringGadgets übergeben muss.
Code: Alles auswählen
Procedure SelectAll(StringGadget.l)
SendMessage_(GadgetID(StringGadget), #EM_SETSEL, Len(GetGadgetText(StringGadget)), 0)
EndProcedure
; Test:
#Window=0
#StringGadget=0
If OpenWindow(#Window, 0, 0, 270, 140, "")
If CreateGadgetList(WindowID(#Window))
StringGadget(#StringGadget, 10, 10, 200, 20, "Guck mal!")
SelectAll(#StringGadget)
SetActiveGadget(#StringGadget)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
EndIf
Grüße ... Kiffi
Verfasst: 24.11.2007 16:21
von Helle
Noch ein Vorschlag mit #EM_SETSEL:
Code: Alles auswählen
If OpenWindow(0, 0, 0, 200, 50, "Caret an´s Stringende", #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(0))
hSG=StringGadget(1, 10, 10, 175, 25, "")
SetGadgetText(1, "Test")
SendMessage_(hSG, #EM_SETSEL, $fffffff, $fffffff) ;Caret an Ende des Strings setzen
SetActiveGadget(1)
EndIf
EndIf
Repeat:Until WaitWindowEvent() = #PB_Event_CloseWindow
Gruss
Helle
Verfasst: 24.11.2007 17:01
von Kiffi
oh, falsch gelesen!
@ThoPie: Der Code von Helle ist der richtige.
Mein Code selektiert den im StringGadget stehenden Text.
Grüße ... Kiffi
Verfasst: 24.11.2007 18:16
von ThoPie
Danke schön.
