MultiWindow
Verfasst: 29.06.2006 15:25
Kann mir bitte jemand helfen.
Wenn ich auf den Button_1 drücke soll eine Messagebox aufgehen und bei Button_ 2 ein neues Fenster. Unter PB3.94 hat das funktioniert. Nach umschreiben auf PB4.0 gklappt es irgendwie nicht. Aber warum? Ich finde den Fehler nicht.
Hier der Code.
Danke für die Hilfe!!!
Wenn ich auf den Button_1 drücke soll eine Messagebox aufgehen und bei Button_ 2 ein neues Fenster. Unter PB3.94 hat das funktioniert. Nach umschreiben auf PB4.0 gklappt es irgendwie nicht. Aber warum? Ich finde den Fehler nicht.
Hier der Code.
Code: Alles auswählen
;- Window Constants
Enumeration
#Window_0
#Window_1
#Window_2
#Window_3
#Button_0
#Button_1
#CheckBox_0
#CheckBox_1
EndEnumeration
;--------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------
Procedure Open_Window_0()
If OpenWindow(#Window_0, 0, 0, 270, 130, "CheckBoxGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
WindowID = WindowID(#Window_0)
If CreateGadgetList(WindowID) ; die Gadgetliste wurde erfolgreich erstellt
ButtonGadget(0, 10, 10, 200, 20, "Button_0", #PB_Button_Right)
ButtonGadget(1, 10, 40, 200, 20, "Button_1")
ButtonGadget(2, 10, 70, 200, 20, "Button_2")
Else ; die Gadgetliste konnte nicht erstellt werden
; Zeigen Sie hier eine Fehlermeldung an, beenden Sie das Programm etc...
EndIf
EndIf
EndProcedure
;-----------------------------------------------------------------------------------------------------------------------
Procedure Open_Window_1()
If OpenWindow(Window_1, 100, 200, 195, 260, "PureBasic Window", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
If CreateGadgetList(WindowID)
EndIf
EndIf
EndProcedure
Procedure Open_Window_3()
If OpenWindow(Window_3, 100, 200, 195, 260, "PureBasic Window", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
If CreateGadgetList(WindowID)
EndIf
EndIf
EndProcedure
DataSection
GrundWerte:;0 1 2 3 4 5 6 7 8 9
Data.s "10:00","19:00", "12:00","13:00", "16:00","18:30", "19:30","20:30", "10:30","22:30"
EndDataSection
;--------------------------------------------
IncludeFile "LeerMultiWindowCommon.pb"
;------------------------------------------Definition erforderlicher Felder-------------------------------------------------------------
Open_Window_0()
;--------------------------Event Schleife-------------------------------------------------------------Repeat ; Start of the event loop
Repeat
EventID=WindowEvent() ; This line waits until an event is received from Windows
WinID = EventWindow() ; The Window where the event is generated, can be used in the gadget procedures
GadgetID= EventGadget()
Select EventID
Case #PB_Event_CloseWindow
Select WinID
;---------------------------------Verwaltung der vorhandenen Windows-------------------------------------------------------------------
Case #Window_0
CloseWindow(#Window_0)
End
Case #Window_1
CloseWindow(#Window_1)
Open_Window_0()
Case #Window_2
CloseWindow(#Window_2)
Case #Window_3
CloseWindow(#Window_3)
EndSelect
;---------------------------------Abfrage vorhandener Button und Checkboxen-----------------------------------------------------------------------
Case #PB_Event_Gadget
Select GadgetID
Case #Button_0
MessageRequester("Test","Button_1 wurde gedrückt",0)
Case #Button_1
MessageRequester("Test","Button_2 wurde gedrückt",0)
Open_Window_1()
Case #CheckBox_0
If GetGadgetState(#CheckBox_0) = 1
MessageRequester("ttt","tt",0)
; ;a = Relaisstellung()
; CallFunctionFast(AdrPortOut, PortNum,a) ; write 80h to port 378h
Else
; ;a = Relaisstellung()
; CallFunctionFast(AdrPortOut, PortNum,a)
EndIf
Case #CheckBox_1
If GetGadgetState(#CheckBox_1) = 1
; ;a = Relaisstellung()
; CallFunctionFast(AdrPortOut, PortNum,a) ; write 80h to port 378h
Else
; ;a = Relaisstellung()
; CallFunctionFast(AdrPortOut, PortNum,a)
EndIf
EndSelect
EndSelect
;---------------------------------------------Aufruf der Funktionen Messen und Schalten------------------------------------------------
Delay(1)
Until WaitWindowEvent() = #PB_Event_CloseWindow
;---------------------------------------------Datenbereich für die Initialisierung------------------------------------------------------