Schnellste Möglichkeit zur Implementierung einer C++ - Win32-Splash-Screen
Was ist eine einfache Möglichkeit zur Implementierung einer c++ - Win32-Programm, um...
- Anzeige-eine 800x600x24 unkomprimierte bitmap-Bild
- in einem Fenster ohne Grenzen (das einzige, was sichtbar ist, das Bild)
- das schließt sich nach zehn Sekunden
- und nicht MFC -
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie:
Wenn Sie eine Ausrichtung auf modernen Windows-Versionen (Windows 2000) und höher verwenden, können Sie die UpdateLayeredWindow Funktion, um ein beliebiges bitmap (darunter eine mit einem alpha-Kanal, wenn so gewünscht).
Ich gebloggt einer vierteiligen Reihe auf, wie man ein C++ - Win32-app, die dies tut. Wenn Sie warten müssen, für genau zehn Sekunden, um zu schließen Sie den splash-screen (statt bis das Hauptfenster fertig ist), müssten Sie Dan Cristoloveanu empfohlene Technik ein timer, ruft DestroyWindow.
Registrieren eine Klasse für das splash-Fenster und erstellen Sie ein Fenster mit diesen styles:
_
"POPUPWINDOW": stellen Sie sicher, Ihre Fenster hat keine Beschriftung/sysmenu_
EX_
OBERSTE: halten Sie den splash-screen am Anfang von allem. Beachten Sie, dass dies ist ein bisschen aufdringlich. Es könnte besser sein, nur machen das splash-Fenster ein Kind von Hauptfenster. Haben Sie möglicherweise zu manipulieren, die z-Reihenfolge, wenn, um ein anderes popup-Fenster (wenn Sie vorhanden) unterhalb der splash-screen.Verwenden CreateDIBSection um die bitmap zu laden. Es sollte einfach sein, da BMP-Dateien sind im wesentlichen Deponien der DIB-Strukturen. Oder das tun, was Ken gesagt und verwenden LoadImage.
Griff die WM
_
MALEN oder WM -_
ERASEBKGND Nachricht zeichnen Sie die bitmap in das Fenster.Auf WM
_
ERSTELLEN Sie einen timer von 10 Sekunden und beim Windows sendet die WM_
TIMER-Nachricht, die Fenster zerstört sich selbst.Der entscheidende Punkt hier ist die Verwendung überlappende Fenster.
Können Sie beginnen, mit einem win32-Assistenten generierte Projekt-und change CreateWindow-Aufruf zu CreateWindowEx und setzen WS_EX_LAYERED als erweiterter Fenster-Stil und die Kombination von WS_POPUP und WS_SYSMENU Fenster Stil. Wenn Sie das tun, starten Sie Ihre Anwendung, wird es unsichtbar. Dann sollten Sie UpdateLayeredWindow, um Ihr Bild malen. Möglicherweise müssen Sie auch AlphaBlend Funktion, wenn Sie möchten, verwenden Sie das PNG-Bild mit alpha-layer.
Hoffe, das hilft!
Es ist eine Win32-api-FAQ
Finden Sie professionelle Win32api-forum
news://194.177.96.26/comp.os.ms-windows.Programmierer.win32
wo es schon beantwortet, Hunderte Male für 20 Jahre..