PanelGadget and EventTypes()

Everything else that doesn't fall into one of the other PB categories.
dige
Addict
Addict
Posts: 1416
Joined: Wed Apr 30, 2003 8:15 am
Location: Germany
Contact:

PanelGadget and EventTypes()

Post by dige »

How can I find out, if the right or left mouse button was pressed on a panel
gadget?

Regards,

dige
GPI
PureBasic Expert
PureBasic Expert
Posts: 1394
Joined: Fri Apr 25, 2003 6:41 pm

Post by GPI »

Not so easy, but possible

Code: Select all

Case #WM_RBUTTONDOWN
            ;{-Right Button Down
            If GetActiveWindow_()=MainWin And ignoreRightClick=#False
              popup_File=-1
              GetCursorPos_(mouse.POINT)
              getwindowrect_(SciEdi,rect.RECT)
                ;{ PanelPopUp
                count=CountGadgetItems(#gadget_main_PanelFile)-1
                Id=GadgetID(#gadget_main_PanelFile)
                getwindowrect_(Id,screen.RECT)
                For i=0 To count
                  SendMessage_(Id,#TCM_GETITEMRECT ,i,rect.RECT)
                  rect\left+screen\left:rect\right +screen\left
                  rect\top +screen\top :rect\bottom+screen\top
                  If mouse\x>=rect\left And mouse\y>=rect\top And mouse\x<=rect\right And mouse\y<=rect\bottom
                    popup_File=i:i=count
                    ak=ListIndex(Sources())
                    SelectElement(Sources(),popup_File)
                    SetMenuItemState(#menu_PanelFile,#menu_File_Debugger,Sources()\debugger)
                    If Sources()\compileThis$
                      EnableMenuItem_(PanelFileMenu,#menu_File_Debugger,#MF_BYCOMMAND|#MF_GRAYED)
                    Else
                      EnableMenuItem_(PanelFileMenu,#menu_File_Debugger,#MF_BYCOMMAND|#MF_Enabled)
                    EndIf
                    SelectElement(Sources(),ak)
                    DisplayPopupMenu(#menu_PanelFile,MainWin)
                  EndIf
                Next
                ;}
              EndIf
            Else
              ignoreRightClick=#False
            EndIf
            ;}
Post Reply