ich habe ein (Verständnis-) Problem mit Wait - WindowEvent.
Wie ihr seht arbeite ich mit WindowEvent und einem Delay von 1. Klappt auch ganz gut. Kann es sein das der Fensteraufbau beim Programmstart langsamer ist? Wieso klappt WaitWindowEvent nicht. Zum Teil muss ich 2 mal auf einen Button oder einen Menüpunkt klicken!!
Habe zwar schon die Hilfe gelesen und im Codearchiv geblättert, komme aber (wegen dem Brett vorm Kopf) nicht weiter.
Hier ein Auszug aus dem Code. Zur besseren Übersicht habe ich einige Teile aus der Mitte ausgeschnitten. Also nicht wundern.
Code: Alles auswählen
Repeat
;EventID = WaitWindowEvent()
EventID = WindowEvent()
;Window = EventWindowID()
;-Button einlesen=============================
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
CloseHelp ()
End
Case #PB_Event_Gadget
Select EventGadgetID()
Case #start ;Startbutton
start = 1
Case #help ;Helpfenster öffnen
OpenHelp ("Traininghelp.chm","")
Case #close_help ;Fenster "über" schliessen
CloseWindow(#ueber)
EndSelect
EndSelect
;-Menü abfragen =============================
;{
If EventID = #PB_EventMenu
Select EventMenuID()
Case #MENU_ueber ;Programminfo anzeigen
Open_ueber()
AddGadgetItem (#Listview_ueber,-1,"Trainingssrechner " )
AddGadgetItem (#Listview_ueber,-1,"- - - - - - - - - - - - -")
Case #MENU_drucken ;Ergebnisse drucken
If PrintRequester()
If StartPrinting("Trainingsrechner Ausdruck")
If StartDrawing(PrinterOutput())
;===================================================
DrawingFont(LoadFont(0, "Times New Roman", ycm(1),#PB_Font_Bold))
Locate(xcm(5), ycm(4)) : DrawText("Ergebnis Trainigsrechner")
Case #MENU_Ende ;Programmende
CloseHelp ()
End
Case #MENU_help ;Hilfefenster öffnen
OpenHelp ("Traininghelp.chm","")
EndSelect
EndIf
;}
;- Daten einlesen ===================================
maennlich=GetGadgetState(#maennlich)
weiblich=GetGadgetState(#weiblich)
If weiblich = 1
maennlich = 0
SetGadgetState(#maennlich, 0)
EndIf
groesse$ = GetGadgetText(#groesse)
groesse = Val(groesse$)
;-Daten berechnen ====================================
;{
If start = 1
;- BMI berechnen
groesse_m.f = groesse / 100
bmi = gewicht / (groesse_m.f * groesse_m.f)
bmi$ = Str(bmi)
SetGadgetText(#bmi, bmi$)
SetGadgetState (#ProgressBar_BMI,bmi)
EndIf
start = 0
;}
Delay (1)
Until Event = #PB_EventCloseWindow
End