Verfasst: 05.04.2007 19:58
>> Besser ???
Ja, kann man so nehmen, obwohl in der Praxis wirds bei mir nie so aussehen
Ja, kann man so nehmen, obwohl in der Praxis wirds bei mir nie so aussehen

Das deutsche PureBasic-Forum
https://www.purebasic.fr/german/
Code: Alles auswählen
; Windows
Enumeration
#Window_0
EndEnumeration
; Menu bars
Enumeration
#Menu_Window_0
EndEnumeration
; Menu items
Enumeration
#Menu_Window_0_Datei_Oeffnen
EndEnumeration
; Gadgets
Enumeration
#Button_0
#Button_1
#Button_2
EndEnumeration
Prototype GadgetEvent(Event.l)
; Gadgetevents
Procedure Event_Button_0(Event.l)
Debug "#Button_0"
EndProcedure
Procedure Event_Button_1(Event.l)
Debug "#Button_1"
EndProcedure
Procedure Event_Button_2(Event.l)
Debug "#Button_2"
EndProcedure
Procedure OpenWindow_Window_0()
If OpenWindow(#Window_0, #PB_Ignore, #PB_Ignore, 142, 137, "Window_0", #PB_Window_SystemMenu|#PB_Window_Invisible|#PB_Window_TitleBar)
If CreateMenu(#Menu_Window_0, WindowID(#Window_0))
MenuTitle("&Datei")
MenuItem(#Menu_Window_0_Datei_Oeffnen, "Oeffnen")
EndIf
If CreateGadgetList(WindowID(#Window_0))
ButtonGadget(#Button_0, 10, 5, 120, 30, "Gadget_0")
SetGadgetData(#Button_0, @Event_Button_0())
ButtonGadget(#Button_1, 10, 40, 120, 30, "Gadget_1")
SetGadgetData(#Button_1, @Event_Button_1())
ButtonGadget(#Button_2, 10, 75, 120, 30, "Gadget_2")
SetGadgetData(#Button_2, @Event_Button_2())
EndIf
ProcedureReturn WindowID(#Window_0)
EndIf
EndProcedure
If OpenWindow_Window_0()
; Initstuff
HideWindow(#Window_0, #False)
;- Event loop
Define.l Event, EventGadget, EventType, EventMenu, EventWindow
Define.GadgetEvent GadgetEvent
Repeat
Event = WaitWindowEvent()
EventGadget = EventGadget()
EventType = EventType()
EventMenu = EventMenu()
EventWindow = EventWindow()
Select Event
Case #PB_Event_Gadget
GadgetEvent = GetGadgetData(EventGadget)
GadgetEvent(EventType)
Case #PB_Event_Menu
Case #PB_Event_CloseWindow
Select EventWindow
Case #Window_0
Break
EndSelect
EndSelect
ForEver
EndIf