Mouse LeftClick

Just starting out? Need help? Post your questions and find answers here.
User avatar
rndrei
Enthusiast
Enthusiast
Posts: 151
Joined: Thu Dec 28, 2023 9:04 pm

Mouse LeftClick

Post 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
normeus
Enthusiast
Enthusiast
Posts: 470
Joined: Fri Apr 20, 2012 8:09 pm
Contact:

Re: Mouse LeftClick

Post 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
google Translate;Makes my jokes fall flat- Fait mes blagues tombent à plat- Machte meine Witze verpuffen- Eh cumpari ci vo sunari
User avatar
Blue
Addict
Addict
Posts: 964
Joined: Fri Oct 06, 2006 4:41 am
Location: Canada

Re: Mouse LeftClick

Post 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...
PB Forums : Proof positive that 2 heads (or more...) are better than one :idea:
User avatar
mk-soft
Always Here
Always Here
Posts: 6202
Joined: Fri May 12, 2006 6:51 pm
Location: Germany

Re: Mouse LeftClick

Post 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
My Projects ThreadToGUI / OOP-BaseClass / EventDesigner V3
PB v3.30 / v5.75 - OS Mac Mini OSX 10.xx - VM Window Pro / Linux Ubuntu
Downloads on my Webspace / OneDrive
Post Reply