Code: Alles auswählen
CompilerError "Es handelt sich hierbei um keinen ausführbaren Code! .."
;##### Enumerations #####
Enumeration ;Windows
#Window_0
EndEnumeration
Enumeration ;Gadgets
#ComboBoxGadget_0
#DateGadget_0
#EditorGadget_0
#ExplorerListGadget_0
#ExplorerTreeGadget_0
#ImageGadget_0
#ListViewGadget_0
#ListIconGadget_0
#OpenGLGadget_0
#MDIGadget_0
#SpinGadget_0
#StringGadget_0
#TreeGadget_0
#WebGadget_0
EndEnumeration
Enumeration ;Images
#Image_0
EndEnumeration
Enumeration ;Menus, ToolBars
#Menu_0
#ToolBar_0
EndEnumeration
Enumeration ;StatusBars
#StatusBar_0
EndEnumeration
Enumeration ;SystemTrayIcons
#SysTrayIcon_0
EndEnumeration
Enumeration ;Timers
#Timer_0
EndEnumeration
Enumeration ;Servers
#Server_0
EndEnumeration
Enumeration #PB_Event_FirstCustomValue ;CustomEvents
#CustomEvent_0
EndEnumeration
;##### WindowEvents #####
Repeat
wEvent = WaitWindowEvent() ;WindowEvent zwecks späterer Verwendung speichern
Select wEvent
Case #PB_Event_Gadget
Gadget = EventGadget() ;Gadgetnummer zwecks späterer Verwendung speichern
Select Gadget
Case #ComboBoxGadget_0
Select EventType()
Case #PB_EventType_Change ;wenn ein anderer Eintrag aus der DropDown-Liste gewählt wurde
Case #PB_EventType_Focus ;nur wenn editierbar
Case #PB_EventType_LostFocus ;nur wenn editierbar
EndSelect
Case #CanvasGadget_0
Select EventType()
Case #PB_EventType_MouseEnter
Case #PB_EventType_MouseLeave
Case #PB_EventType_MouseMove
Case #PB_EventType_MouseWheel
Case #PB_EventType_LeftButtonDown
Case #PB_EventType_LeftButtonUp
Case #PB_EventType_LeftClick
Case #PB_EventType_LeftDoubleClick
Case #PB_EventType_RightButtonDown
Case #PB_EventType_RightButtonUp
Case #PB_EventType_RightClick
Case #PB_EventType_RightDoubleClick
Case #PB_EventType_MiddleButtonDown
Case #PB_EventType_MiddleButtonUp
Case #PB_EventType_Focus
Case #PB_EventType_LostFocus
Case #PB_EventType_KeyDown
Case #PB_EventType_KeyUp
Case #PB_EventType_Input
EndSelect
Case #DateGadget_0
Select EventType()
Case #PB_EventType_Change
EndSelect
Case #EditorGadget_0
Select EventType()
Case #PB_EventType_Change
Case #PB_EventType_Focus
Case #PB_EventType_LostFocus
EndSelect
Case #ExplorerListGadget_0
Select EventType()
Case #PB_EventType_Change
Case #PB_EventType_DragStart
Case #PB_EventType_LeftClick
Case #PB_EventType_LeftDoubleClick
Case #PB_EventType_RightClick
Case #PB_EventType_RightDoubleClick
EndSelect
Case #ExplorerTreeGadget_0
Select EventType()
Case #PB_EventType_Change
Case #PB_EventType_DragStart
Case #PB_EventType_LeftClick
Case #PB_EventType_LeftDoubleClick
Case #PB_EventType_RightClick
Case #PB_EventType_RightDoubleClick
EndSelect
Case #ImageGadget_0
Select EventType()
Case #PB_EventType_DragStart
Case #PB_EventType_LeftClick
Case #PB_EventType_LeftDoubleClick
Case #PB_EventType_RightClick
Case #PB_EventType_RightDoubleClick
EndSelect
Case #ListIconGadget_0
Select EventType()
Case #PB_EventType_Change
Case #PB_EventType_DragStart
Case #PB_EventType_LeftClick
Case #PB_EventType_LeftDoubleClick
Case #PB_EventType_RightClick
Case #PB_EventType_RightDoubleClick
EndSelect
Case #ListViewGadget_0
Select EventType()
Case #PB_EventType_LeftClick
Case #PB_EventType_LeftDoubleClick
Case #PB_EventType_RightClick
EndSelect
Case #MDIGadget_0
;Das MDIGadget gibt keine Ereignisse zurück.
;Ereignisse, welche die Child-Fenster betreffen, werden stattdessen als normale Fenster-Ereignisse empfangen.
Case #OpenGLGadget_0
Select EventType()
Case #PB_EventType_MouseEnter
Case #PB_EventType_MouseLeave
Case #PB_EventType_MouseMove
Case #PB_EventType_MouseWheel
Case #PB_EventType_LeftButtonDown
Case #PB_EventType_LeftButtonUp
Case #PB_EventType_LeftClick
Case #PB_EventType_LeftDoubleClick
Case #PB_EventType_RightButtonDown
Case #PB_EventType_RightButtonUp
Case #PB_EventType_RightClick
Case #PB_EventType_RightDoubleClick
Case #PB_EventType_MiddleButtonDown
Case #PB_EventType_MiddleButtonUp
Case #PB_EventType_Focus
Case #PB_EventType_LostFocus
Case #PB_EventType_KeyDown
Case #PB_EventType_KeyUp
Case #PB_EventType_Input
EndSelect
Case #Panel_0
Select EventType()
Case #PB_EventType_Change
EndSelect
Case #SpinGadget_0
Select EventType()
Case #PB_EventType_Change
Case #PB_EventType_Up
Case #PB_EventType_Down
EndSelect
Case #StringGadget_0
Select EventType()
Case #PB_EventType_Change
Case #PB_EventType_Focus
Case #PB_EventType_LostFocus
EndSelect
Case #TreeGadget_0
Select EventType()
Case #PB_EventType_Change
Case #PB_EventType_DragStart
Case #PB_EventType_LeftClick
Case #PB_EventType_LeftDoubleClick
Case #PB_EventType_RightClick
Case #PB_EventType_RightDoubleClick
EndSelect
Case #WebGadget_0
Select EventType()
Case #PB_EventType_DownloadEnd
Case #PB_EventType_DownloadProgress
Case #PB_EventType_DownloadStart
Case #PB_EventType_PopupMenu
Case #PB_EventType_PopupWindow
Case #PB_EventType_StatusChange
Case #PB_EventType_TitleChange
EndSelect
EndSelect
Case #PB_Event_GadgetDrop
Select EventGadget()
Case #ExplorerListGadget_0, #ExplorerTreeGadget_0, #ImageGadget_0, #ListIconGadget_0, #TreeGadget_0 ;Nativ unterstützte Gadgettypen.
Select EventDropType()
Case #PB_Drop_Files
Files$ = EventDropFiles()
Case #PB_Drop_Image
Image = EventDropImage()
Case #PB_Drop_Private
Priv = EventDropPrivate()
Case #PB_Drop_Text
Text$ = EventDropText()
EndSelect
Select EventDropAction()
Case #PB_Drag_Copy
;Die Daten sollten kopiert werden
Case #PB_Drag_Link
;Die Daten sollten verlinkt werden
Case #PB_Drag_Move
;Die Daten sollten verschoben werden
EndSelect
EndSelect ;weitere Gadgettypen können mittels "DragAcceptFiles_()" drop-fähig gemacht werden (Windows-API)
Case #PB_Event_DeactivateWindow, #PB_Event_ActivateWindow, #PB_Event_MaximizeWindow, #PB_Event_MinimizeWindow,
#PB_Event_RestoreWindow, #PB_Event_MoveWindow, #PB_Event_Repaint, #PB_Event_SizeWindow, #PB_Event_CloseWindow,
#PB_Event_LeftClick, #PB_Event_LeftDoubleClick, #PB_Event_RightClick ;Nativ unterstützte Fensterereignisse. Nicht benötigte löschen!
Select EventWindow()
Case #Window_0
EndSelect
Case #PB_Event_WindowDrop
Select EventWindow()
Case #Window_0
Select EventDropType()
Case #PB_Drop_Files
Files$ = EventDropFiles()
Case #PB_Drop_Image
Image = EventDropImage()
Case #PB_Drop_Private
Priv = EventDropPrivate()
Case #PB_Drop_Text
Text$ = EventDropText()
EndSelect
Select EventDropAction()
Case #PB_Drag_Copy
;Die Daten sollten kopiert werden
Case #PB_Drag_Link
;Die Daten sollten verlinkt werden
Case #PB_Drag_Move
;Die Daten sollten verschoben werden
EndSelect
EndSelect
Case #PB_Event_Menu
Select EventMenu()
Case #Menu_0
Case #ToolBar_0
EndSelect
Case #PB_Event_SysTray
Select EventGadget()
Case #SysTray_0
Select EventType() ;Laut Hilfe sollen noch mehr gehen. Es funktionieren aber nur diese:
Case #PB_EventType_LeftClick
Case #PB_EventType_LeftDoubleClick
Case #PB_EventType_RightClick
Case #PB_EventType_RightDoubleClick
EndSelect
EndSelect
Case #PB_Event_Timer
Select EventTimer()
Case #Timer_0
EndSelect
Case #CustomEvent_0 ;siehe Enumerationen
CustomData = EventData() ;wird per "PostEvent(#CustomEvent_0, 0, 0, 0, CustomData)" aus einem Thread gesendet
Case #WM_KEYDOWN ;(Windows-API)
Select EventwParam()
Case #VK_ESCAPE ;ESC-Taste gedrückt
EndSelect
;weiterhin: #WM_LBUTTONDOWN, #WM_LBUTTONUP, #WM_RBUTTONDOWN, #WM_RBUTTONUP, #WM_MOUSEMOVE, #WM_CONTEXTMENU, #WM_DROPFILES - usw.
;Diese Windows-API-Konstanten gehören aber besser in eine Callback-Procedure!
EndSelect
ForEver
;##### NetworkServerEvents #####
Repeat
Select NetworkServerEvent()
Case #PB_Event_None ;(#PB_NetworkEvent_None)
Select EventServer()
Case #Server_0
EndSelect
Case #PB_Event_ClientConnected ;(#PB_NetworkEvent_Connect)
Select EventServer()
Case #Server_0
EndSelect
Case #PB_Event_DataReceived ;(#PB_NetworkEvent_Data)
Select EventServer()
Case #Server_0
EndSelect
Case #PB_Event_ClientDisconnected ;(#PB_NetworkEvent_Disconnect)
Select EventServer()
Case #Server_0
EndSelect
EndSelect
ForEver
;##### NetworkClientEvents ######
Repeat
Select NetworkClientEvent()
Case #PB_Event_None ;(#PB_NetworkEvent_None)
Case #PB_Event_DataReceived ;(#PB_NetworkEvent_Data)
Case #PB_Event_ClientDisconnected ;(#PB_NetworkEvent_Disconnect)
EndSelect
ForEver
Hinweise, Kritik und Anregungen sind immer willkommen.
