Runtime erstelltes Image (auf runtime erstelltem form) verschwindet wenn es kurz 'überblendet' wird.
-
Während des Programmstarts soll ein (Intro-)Bild dargestellt werden.
Dafür erstelle ich eine Instanz einer Klasse. Die Klasse erstellt runtime ein form und rückt es in die mitte des bildschirms. Dann erstelle die klasse ein Image das genauso groß wie das form ist. Das image lädt ein bmp, dann wird das ganze form angezeigt.
Grundsätzlich funktioniert es. Nachdem die zeitbespruchenden Prozesse beendet sind wird die klasse wieder deleted und das Intro-Bild ist weg.
Wird jedoch während das Bild angezeigt wird ein Teil bedeckt, wird dort nicht mehr das Bild sondern nur mehr Schwarz gezeigt. Wird ein anderes Programm z.b. maximiert und dann wieder minimiert sieht man nur mehr ein schwarzes Rechteck am Desktop.
Warum wird mein Bild nicht mehr angezeigt?
-
Hallo
weil dein Programm ja arbeitet und deshalb alle Windows-Messages, die das Neuzeichnen auslösen könnten, blockiert werden. Erst wenn deine Verarbeitung fertig ist, werden die Messages in der Queue abgearbeitet, aber dann löscht du das Fenster auch schon wieder.
Um das zu beheben, mußt du nur in deiner Verarbeitung ab und zu (am besten in der Hauptschleife oder so) ein
Application->ProcessMessages();ausführen
bis bald
akari
-
Das wird problematisch. Den eigentlich ist es ein einziger Befehl der so lange braucht. (Excel-Datenbank erstellen)
Muss mir aber heute zuhause etwas genauer anschauen, hier hab ich leider keinen code.
-
Hallo,
Pack doch diesen zeitintensiven Prozess in einen Thread. Dann brauchst du auch ProcessMessages nicht mehr.
Ciao