Page 1 of 1
Mouse LeftClick
Posted: Fri May 02, 2025 3:17 am
by rndrei
Why doesn't the left mouse button not work? System: Linux Ubuntu
Code: Select all
OpenWindow(0,0,0,600,600,"")
ScintillaGadget(1,0,0,600,500,#Null)
Repeat
event=WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case 1
Select EventType()
Case #PB_EventType_LeftClick : Debug "Click with left mouse button"
Case #PB_EventType_RightClick : Debug "Click with right mouse button"
EndSelect
EndSelect
EndSelect
Until event=#PB_Event_CloseWindow
End
Re: Mouse LeftClick
Posted: Fri May 02, 2025 6:27 am
by normeus
Scintilla does not respond to left click?
PureBasic's help file is really a must read:
https://www.purebasic.com/documentation ... adget.html
Norm
Re: Mouse LeftClick
Posted: Fri May 02, 2025 6:47 am
by Blue
rndrei is right.
Tested in Windows 11 X64 with PB 6.21 beta 7, PB 6.21 beta 6, PB 6.20
However, the PB Help file only mentions right-click as an event type for this gadget...
Re: Mouse LeftClick
Posted: Fri May 02, 2025 11:06 am
by mk-soft
Actually, you don't need that with a ScintillaGadget.
But you can query the buttons on all widgets.
Code: Select all
;-TOP by mk-soft
ProcedureC _signal_button_press_event_cb(*Widget, *Event.GdkEventButton, UserData)
If *Event\button = 1
PostEvent(#PB_Event_Gadget, GetActiveWindow(), UserData, #PB_EventType_LeftButtonDown)
EndIf
ProcedureReturn 0 ; Button process continue
EndProcedure
ProcedureC _signal_button_release_event_cb(*Widget, *Event.GdkEventButton, UserData)
If *Event\button = 1
PostEvent(#PB_Event_Gadget, GetActiveWindow(), UserData, #PB_EventType_LeftClick)
EndIf
ProcedureReturn 0 ; Button process continue
EndProcedure
OpenWindow(0,0,0,600,600,"")
ScintillaGadget(1,0,0,600,500,#Null)
signal_button_press_event_1 = g_signal_connect_(GadgetID(1), "button-press-event", @_signal_button_press_event_cb(), 1) ; <- UserData = gadget number
signal_button_relase_event_1 = g_signal_connect_(GadgetID(1), "button-release-event", @_signal_button_release_event_cb(), 1) ; <- UserData = gadget number
Repeat
event=WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case 1
Select EventType()
Case #PB_EventType_LeftButtonDown : Debug "Down with left mouse button"
Case #PB_EventType_LeftClick : Debug "Click with left mouse button"
Case #PB_EventType_RightClick : Debug "Click with right mouse button"
EndSelect
EndSelect
EndSelect
Until event=#PB_Event_CloseWindow
If g_signal_handler_is_connected_(GadgetID(1), signal_button_press_event_1)
g_signal_handler_disconnect_(GadgetID(1), signal_button_press_event_1)
EndIf
If g_signal_handler_is_connected_(GadgetID(1), signal_button_relase_event_1)
g_signal_handler_disconnect_(GadgetID(1), signal_button_relase_event_1)
EndIf
End