Ist wohl ne alte Macke ... schon mit v6.04
Signal selber abfangen bis diese repariert ist
Update
Code: Alles auswählen
;-TOP
Enumeration #PB_EventType_FirstCustomValue
#MyEventType_LeftClick
#MyEventType_LeftDoubleClick
#MyEventType_LeftTribleClick
EndEnumeration
ProcedureC signalClicked(*Widget.GtkWidget, *Event.GdkEventButton , user_data)
If *Event\button = 1
Select *Event\type
Case #GDK_BUTTON_PRESS
;Debug "Gadget " + user_data + ": Single Click " + ElapsedMilliseconds()
PostEvent(#PB_Event_Gadget, GetActiveWindow(), user_data, #MyEventType_LeftClick)
Case #GDK_2BUTTON_PRESS
;Debug "Gadget " + user_data + ": Double Click " + ElapsedMilliseconds()
PostEvent(#PB_Event_Gadget, GetActiveWindow(), user_data, #MyEventType_LeftDoubleClick)
Case #GDK_3BUTTON_PRESS
;Debug "Gadget " + user_data + ": Trible Click " + ElapsedMilliseconds()
PostEvent(#PB_Event_Gadget, GetActiveWindow(), user_data, #MyEventType_LeftTribleClick)
EndSelect
EndIf
EndProcedure
Procedure ExplorerlistEvents()
Select EventType()
Case #MyEventType_LeftClick : Debug "Einfachklick @ " + ElapsedMilliseconds()
Case #MyEventType_LeftDoubleClick : Debug "Doppelklick @ " + ElapsedMilliseconds()
Case #MyEventType_LeftTribleClick : Debug "Dreifachklick @ " + ElapsedMilliseconds()
EndSelect
EndProcedure
OpenWindow(0, 100, 100, 400, 300, "Window")
ExplorerListGadget(1, 0, 0, 400, 300, GetHomeDirectory(), #PB_Explorer_NoFolders)
signal_event_handler_1 = g_signal_connect_(GadgetID(1), "button-press-event", @signalClicked(), 1) ; <= UserData = Gadget Number
BindGadgetEvent(1, @ExplorerlistEvents())
Repeat
event = WaitWindowEvent()
Until event = #PB_Event_CloseWindow
If g_signal_handler_is_connected_(GadgetID(1), signal_event_handler_1)
g_signal_handler_disconnect_(GadgetID(1), signal_event_handler_1)
EndIf