der beigefügte Code funktioniert nicht unter den Standarteinstellungen des Compilers. Es werden keine EventType() Ergebnisse empfangen. Wenn ich als Lib-Subsystem jedoch "gtk2" wähle, dann funktioniert es.
Code: Alles auswählen
EnableExplicit
Macro DbgEvtType
If EvtTyp = #PB_EventType_LeftClick
Debug "Gadget #" + EvtGdg + " received LEFT click"
ElseIf EvtTyp = #PB_EventType_RightClick
Debug "Gadget #" + EvtGdg + " received RIGHT click"
ElseIf EvtTyp = #PB_EventType_Focus
Debug "Gadget #" + EvtGdg + " gets focus"
EndIf
EndMacro
If OpenWindow(0, 0, 0, 400, 300, "EventType Test", #PB_Window_SystemMenu)
If LoadImage(0, #PB_Compiler_Home + "examples/sources/Data/PureBasic.bmp")
ImageGadget(1, 10, 10, 180, 40, ImageID(0))
If ContainerGadget(5, 10, 80, 380, 50, #PB_Container_Double)
ImageGadget(2, 5, 5, 180, 40, ImageID(0))
CloseGadgetList()
EndIf
If ScrollAreaGadget(6, 10, 150, 380, 50, 350, 50, WindowWidth(0)/10, #PB_ScrollArea_Single)
ImageGadget(3, 5, 5, 180, 40, ImageID(0))
CloseGadgetList()
EndIf
EndIf
EndIf
Define.i Quit, WndEvt, EvtGdg, EvtTyp
Repeat
WndEvt = WaitWindowEvent()
EvtGdg = EventGadget()
Select WndEvt
Case #PB_Event_CloseWindow
Quit = 1
Case #PB_Event_Gadget
EvtTyp = EventType() : Debug "EvtType:" + EvtTyp
Select EvtGdg
Case 1 : DbgEvtType
Case 2 : DbgEvtType
Case 3 : DbgEvtType
Case 5 : DbgEvtType
Case 6 : DbgEvtType
EndSelect
EndSelect
Until Quit = 1
End
OS: Ubuntu 16.04 x86_64
Compilereinstellungen:
[ ] Unicode-Executable erstellen
[ ] Thread-sicheres Executable erstellen
[ ] OnError-Unterstützung einschalten
[ ] Moderne Themen-Unterstützung aktivieren (für Windows XP und höher)
[ ] Administrator-Modus für Windows Vista und höher anfordern
[ ] User-Modus für Windows Vista und höher anfordern (keine Virtualisierung)
Library Subsystem:gtk3 (mit gtk2 funktionieren die CLICK Events)