2. Window öffnet nur 1 mal - warum?
Verfasst: 19.05.2007 11:03
Hi, noch ne Frage - als PB-Anfänger hat man es nicht leicht...
Habe ein kleines Testprogramm geschrieben um mich mit Fenstern und Panels vertraut zu machen. Das ganze funzt aber nur einmal...
Danke für Eure Zeit!
Habe ein kleines Testprogramm geschrieben um mich mit Fenstern und Panels vertraut zu machen. Das ganze funzt aber nur einmal...
Code: Alles auswählen
; ##### Fenster-Test / 2. Fenster (mit button3) öffnet nur 1 mal - warum? ###
; ##### Schließkreuz muß ich auch 2 mal drücken, bevor es schließt ######
; ##### habe in dem Fenster eine eigene Repeatschleife - ist das ok? ######
Procedure fenster2()
If OpenWindow(1, 0, 0, 250, 105, "hier Fenster 2 - das war Button No 3...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
DisableWindow(0,1)
SetWindowColor(1, $66ffff)
If CreateGadgetList(WindowID(1))
ButtonGadget(6, 10, 15, 150, 30, "Test button")
EndIf
Repeat
Event.l = WaitWindowEvent(500)
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case 6
DisableWindow(0,0)
; SetActiveWindow(0) - nicht nötig, oder?
CloseWindow(1)
EndSelect
EndSelect
Until event = #PB_Event_CloseWindow
EndIf
EndProcedure
; ##### Fenster und Panel erzeugen #####
If OpenWindow(0, 0, 0, 622, 220, "PanelGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
PanelGadget (0, 8, 8, 606, 203)
AddGadgetItem (0, -1, "Panel 1")
ButtonGadget(4, 10, 15, 80, 24,"Button 4")
AddGadgetItem (0, -1,"Panel 2")
ButtonGadget(2, 10, 15, 80, 24,"Button 2")
ButtonGadget(3, 95, 15, 80, 24,"Button 3")
AddGadgetItem (0, -1,"Panel 3")
ListViewGadget(5, 30, 30, 280, 60)
; ##### Hauptschleife #####
Repeat
Event.l = WaitWindowEvent(500)
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case 4 ; nicht wichtig
MessageRequester("hi", "das war Button 4")
Case 3 ; öffnet 2. Fenster
fenster2()
Case 2 ; bisschen Spielerei
MessageRequester("hi", "Danke für Deine Hilfe...")
DisableGadget(4,1)
AddGadgetItem(5, -1, "hier steht jetzt Text")
EndSelect
EndSelect
Until event = #PB_Event_CloseWindow
EndIf
Danke für Eure Zeit!