Ich habe ein Problem, bei dem ich einfach nicht weiterkomme.
Ich würde bei meinem Programm gerne einen Benutzerhinweis "Bitte etwas Geduld..." anzeigen, während im Hintergrund Daten entpackt werden.
Der Benutzerhinweis soll das Entpacken aber nicht verlangsamen.
Ich habe das Forum und das Codearchiv durchforstet, aber leider kein passendes Beispiel gefunden.
Folgendes habe ich gescripted:
Code: Alles auswählen
;Benutzerhinweis anzeigen, während das Programm im Hintergrund weiterarbeitet
If OpenWindow(0, 200, 200, 300, 100, #PB_Window_BorderLess| #PB_Window_ScreenCentered,"")
If CreateGadgetList(WindowID())
TextGadget(1,0,30,300,20,"Daten werden entpackt!", #PB_Text_Center)
TextGadget(2,0,50,300,20,"Bitte etwas Geduld ...", #PB_Text_Center)
EndIf
SetTimer_(WindowID(),1,100,0) ;100 ms Wartezeit zum Gadgetaufbau
Repeat
EventID = WindowEvent()
If EventID = #WM_TIMER And EventwParam()=1 ;1=TimerID
Quit=1
KillTimer_(WindowID(),1)
EndIf
Until Quit=1
;Simulation der Entpackroutine (hier 10 Sekunden)
Delay(10000)
CloseWindow(0)
EndIf
End
Wenn man ein anderes Fenster darüberbewegt, verschwindet zuerst der Text und anschließend wird der komplette Fensterinhalt zerstört.
Kann mir bitte jemand erklären, wie ich mein Beispiel umschreiben muss, damit der Benutzerhinweis erhalten bleibt?