Splashscreen...
-
Ich habe gerade in mein Projekt eine Art Splashscreen eingebaut. Das ist ein einfacher Dialog, ohne Rand, wo ich eine Picturebox mit einem Bild drin habe, und darunter ein Static Feld, wo der aktuelle Status drin steht (diesen kann ich mit einer von mir eingebauten Setter-Methode setzen).
Ich erstelle das Ding jetzt in meinem eigentlichen Dialog am Anfang der OnInitdialog() Methode. Es soll eben der Status der Initialisierung angezeigt werden, da diese mittlerweile etwas länger dauert.
Leider wird das Bild in meinem Splashscreen aber nicht angezeigt - die Schrift schon, sie ändert sich auch wenn ich eine neue setze.Wenn die OnInitDialog des Hauptdialogs fertig ist, wird das Bild angezeigt. Warum?
-
Wahrscheinlich weil deine Initialisierung-Methoden keine Rechenleistung freigeben. Dadurch die Messages nicht abgearbeitet werden und dadurch dein Bild nicht angezeigt wird. Gehe ich recht in der annahme, das Du den Text direct im Dialog setzt, bzw. eine Funktion des Dialoges anspringst, die den Text setzt. Würdest Du den Text per Message setzen, würde dieser auch nicht zu sehen sein (wahrscheinlich).
Ich geb ja zu ist viel Kristallkugel (Vermutung) was ich geschrieben habe. Aber Du kannst versuchen an geeigneter Stelle die Messageverarbeitung von Windows durchzuführen.
MSG msg; while( ::PeekMessage( &msg, NULL, NULL, NULL, PM_NOREMOVE ) ) ::AfxGetThread()->PumpMessage();
Dann sollte dein Bild auch zu sehen sein. Denke ich.
Gruß
-
Hast Du Deine Kristallkugel von EBay? Wenn ja, hast Du einen guten Kauf gemacht