ich habe ne Frage bezüglich dem Aufbau eines Fensters. Wenn ich den folgenden Code laufen lasse, wird das Fenster erst komplett aufgebaut und angezeigt, sobald die Schleife in der anderen Procedure fertig ist. Dabei müsste doch zuerst das Fenster aufgebaut werden da die Procedure mit der Schleife erst danach aufgerufen wird, oder verstehe ich da was falsch?
Code: Alles auswählen
; PureBasic Visual Designer v3.95 build 1485 (PB4Code)
EnableExplicit
;- Window Constants
;
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
;
Enumeration
#Text_0
#Text_1
#Frame3D_0
#Button_0
EndEnumeration
Define Event ;Ereignis
Define WindowID ;Fensternummer
Define GadgetID ;Gadgetnummer
Define EventType ;Ereignis-Typ
Procedure Open_Window_0()
If OpenWindow(#Window_0, 307, 136, 250, 247, "Testfenster", #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_WindowCentered )
If CreateGadgetList(WindowID(#Window_0))
TextGadget(#Text_0, 50, 65, 55, 25, "Ergebnis:")
TextGadget(#Text_1, 135, 65, 65, 25, "Ausgabe")
Frame3DGadget(#Frame3D_0, 30, 30, 180, 100, "Rahmen")
ButtonGadget(#Button_0, 75, 165, 95, 45, "OK")
EndIf
EndIf
EndProcedure
Procedure Durchlaeufe()
Protected i
For i = 0 To 25000
SetGadgetText(#Text_1, Str(i))
Next
EndProcedure
Open_Window_0()
Durchlaeufe()
Repeat ; Start of the event loop
Event = WaitWindowEvent() ; This line waits until an event is received from Windows
WindowID = EventWindow() ; The Window where the event is generated, can be used in the gadget procedures
GadgetID = EventGadget() ; Is it a gadget event?
EventType = EventType() ; The event type
;You can place code here, and use the result as parameters for the procedures
If Event = #PB_Event_Gadget
If GadgetID = #Button_0
CloseWindow(#Window_0)
End
EndIf
EndIf
Until Event = #PB_Event_CloseWindow ; End of the event loop
End
;
Peter