ich bin ja noch relativ neu in Pure und taste mich momentan so durch das Event-Handling, was doch ein wenig anders ist als ich es bisher von anderen (z.B. OO-)Sprachen her kenne.
Laut Online-Hilfe gibt es ja 7 verschiedene (bekannte bzw. dokumentierte) Events.
Da ich dabei so einige vermisse (wie z.B. KB_Pressed, KB_Released, Mouse_Move,...) habe ich mich mal an ein kleines Prog gesetzt, welches mir die empfangenen Events ausgibt.
Hierbei kann man ja nun leicht sehen dass noch weitere als die 7 beschriebenen Events übermittelt werden.
Nun hätte ich dazu ein paar Fragen:
(Um bei einer möglichen Beantwortung leichter darauf eingehen zu können, hab ich sie mal durchnummeriert.)

1. Hat es evtl. einen besonderen Grund warum diese Events nicht in der OH aufgelistet sind?
2. Sind diese weiteren Events irgendwo dokumentiert? Bzw. ist die Liste in der OnlineHilfe nicht vollständig?
3. Gibt es hierfür auch #PB_Event_Konstanten?
4. Gibt es diese (undokumentierten) Events mit der gleichen EventID auch unter Linux und MacOS?
5. Kann man evtl. auch irgendwie per Event abfangen, ob das Fenster minimiert bzw. maximiert wurde?
Anbei mal das kleine Prog mit dem ich mir die Events anzeigen lasse:
Code: Alles auswählen
#KbEv_ESC=2027
If OpenWindow(0,10,10,200,50,#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_SizeGadget,"Beenden mit <ESC>")
If CreateGadgetList(WindowID(0))
ButtonGadget(0,15,10,100,20,"Button1")
EndIf
If CreateMenu(0,WindowID(0))
MenuTitle("Menü1")
MenuItem(101,"Eintrag 1-01")
MenuItem(102,"Eintrag 1-02")
MenuTitle("Menü2")
MenuItem(201,"Eintrag 2-01")
MenuItem(202,"Eintrag 2-02")
MenuItem(203,"Eintrag 2-03")
MenuItem(204,"Eintrag 2-04")
EndIf
AddKeyboardShortcut(0,#PB_Shortcut_Escape,#KbEv_ESC)
Debug("Liste der bekannten Events (laut PB-OnlineHilfe):")
Debug("---------------------------------------------------------------------------------")
Debug("#PB_Event_Menu="+Str(#PB_Event_Menu))
Debug("#PB_Event_Gadget="+Str(#PB_Event_Gadget))
Debug("#PB_Event_CloseWindow="+Str(#PB_Event_CloseWindow))
Debug("#PB_Event_Repaint="+Str(#PB_Event_Repaint))
Debug("#PB_Event_SizeWindow="+Str(#PB_Event_SizeWindow))
Debug("#PB_Event_MoveWindow="+Str(#PB_Event_MoveWindow))
Debug("#PB_Event_ActivateWindow="+Str(#PB_Event_ActivateWindow))
Debug("---------------------------------------------------------------------------------")
Repeat
AktEvent=WaitWindowEvent()
If AktEvent=#PB_Event_Menu
AktMenuEvent = EventMenuID()
Debug("=> Menü-Event ("+Str(AktEvent)+") - Menü-Eintrag: "+Str(AktMenuEvent))
If AktMenuEvent=#KbEv_ESC: quit=1:EndIf
ElseIf AktEvent=#PB_Event_Gadget
Debug("=> Gadget-Event ("+Str(AktEvent)+")")
ElseIf AktEvent=#PB_Event_CloseWindow
Debug("=> CloseWindow-Event ("+Str(AktEvent)+")")
ElseIf AktEvent=#PB_Event_Repaint
Debug("=> Repaint-Event ("+Str(AktEvent)+")")
ElseIf AktEvent=#PB_Event_SizeWindow
Debug("=> SizeWindow-Event ("+Str(AktEvent)+")")
ElseIf AktEvent=#PB_Event_MoveWindow
Debug("=> MoveWindow-Event ("+Str(AktEvent)+")")
ElseIf AktEvent=#PB_Event_ActivateWindow
Debug("=> ActivateWindow-Event ("+Str(AktEvent)+")")
Else
Debug("Unbekannter Event: "+Str(AktEvent))
EndIf
Until Quit=1
EndIf

ThanXXX und Gruß, PL.