Panel-Gadget gibt EventType-Wert 1 zurück?
Verfasst: 17.11.2014 19:17
Hi.
Schaut Euch mal bitte diesen Programmtext hier an:
Ich hoffe, er verdeutlicht meine Frage: Was ist der Event-Typ mit dem Wert 1? Ist er dokumentiert? Hat er einen Namen?
Woran 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...
...die das Popup-Menü nur dann anzeigt, wenn der Wert 1 direkt auf #PB_EventType_Change folgt.
...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!
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!