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
  
ForEverSo funktionierts jedenfalls bei anderen Gadgets definitiv, nur beim StringGadget irgendwie nicht...




