Wenn ich per BindGadgetEvent() einem StringGadget eine EventProzedur zuweise, wird diese zwar ausgeführt,
aber SendMessage_() scheint nicht zu funktionieren.
Wenn ich aber direkt in der Eventloop genau den gleichen Code schreibe funktionierts.
Kann mir das jemand erklären ?
Code: Alles auswählen
Define Event
Procedure Event_String()
SendMessage_(GadgetID(EventGadget()), #EM_SETSEL, Len(GetGadgetText(EventGadget())), 0)
EndProcedure
OpenWindow(0, 0, 0, 640, 480, "Test", #PB_Window_ScreenCentered|#PB_Window_SystemMenu)
StringGadget(1, 10, 10, 200, 20, "sldkjfhaölsdhfalfds", #PB_String_BorderLess)
BindGadgetEvent(1, @iString_Events(), #PB_EventType_Focus)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_CloseWindow
Break
Case #PB_Event_Gadget
Select EventGadget()
Case 1
; If EventType() = #PB_EventType_Focus
; SendMessage_(GadgetID(EventGadget()), #EM_SETSEL, Len(GetGadgetText(EventGadget())), 0)
; EndIf
EndSelect
EndSelect
ForEver
So funktionierts jedenfalls bei anderen Gadgets definitiv, nur beim StringGadget irgendwie nicht...