Schaut Euch mal bitte diesen Programmtext hier an:
Code: Alles auswählen
OpenWindow (#PB_Any, 0, 0, 400, 200, "Panel", #PB_Window_SystemMenu)
Panel = PanelGadget (#PB_Any, 15, 15, 370, 170)
AddGadgetItem (Panel, 0, "Item 1")
AddGadgetItem (Panel, 1, "Item 2")
CloseGadgetList ()
Repeat
Select WaitWindowEvent ()
Case #PB_Event_CloseWindow
Break
Case #PB_Event_Gadget
If EventGadget () = Panel
Select EventType ()
Case #PB_EventType_Change
Debug "Seitenwechsel (#PB_EventType_Change = 768)"
Default
Debug EventType ()
EndSelect
EndIf
EndSelect
ForEverWoran mir eigentlich liegt, ist es, herauszufinden, ob ich bei einem Wechseln des Panel-Elements mich auf die direkte Abfolge von #PB_EventType_Change und dem Wert 1 verlassen kann. Ich möchte nämlich ein kleines Popup-Menü anzeigen wann immer ein Panel-Element geklickt wird, ohne das es sich dabei um einen Eintragwechsel gehandelt hat. Dazu führe ich folgende Abfragen in einer Window-Ereignisschleife durch...
Code: Alles auswählen
; ...
Case Panel
If EventType () = 1
If Not PreviousEventType = 768
; DisplayPopupMenu ()
EndIf
PreviousEventType = #Null
ElseIf EventType () = 768
PreviousEventType = 768
EndIf
; ......würde natürlich nicht funktionieren, wenn dazwischen ein Leerlauf ist, nur scheint es den in der Praxis (bei mir, jedenfalls) nicht zu geben...
/Nachtrag: Ich währe direkt im "Fragen"-Bereich für eine Forensektion namens "Gadgets", damit solche Fragen nicht den ohnehin überfüllten "Allgemein"-Bereich belasten!
