Erstellen ein Hauptfenster

Das erste Fenster, das eine Anwendung erstellt wird in der Regel das Hauptfenster. Sie erstellen das Hauptfenster mithilfe der CreateWindowEx -Funktion, die Fensterklasse, Fensternamen, Fensterstile, Größe, Position, Menü-Handle, Instanzenhandle und Erstellung Daten angeben. Ein Hauptfenster gehört zu einer Anwendung definierte Fensterklasse, so müssen Sie die Fensterklasse registrieren und eine Fensterprozedur für die Klasse bereitstellen vor dem Erstellen des Hauptfensters.

Die meisten Anwendungen verwenden in der Regel den WS_OVERLAPPEDWINDOW Stil, um das Hauptfenster zu erstellen. Dieser Stil gibt dem Fenster eine Titelleiste, ein Menü, eine Größenanpassungsrahmens, minimieren und maximieren Schaltflächen. Die CreateWindowEx -Funktion gibt ein Handle, der eindeutig das Fenster.

Das folgende Beispiel erstellt ein Hauptfenster einer Anwendung definierte Fensterklasse gehören. Der Name des Fensters, Main Window , wird in der Titelleiste des Fensters angezeigt. Durch die Kombination der WS_VSCROLL und WS_HSCROLL Stile mit dem WS_OVERLAPPEDWINDOW Stil, erstellt die Anwendung ein Hauptfenster mit horizontalen und vertikalen Bildlaufleisten neben der Komponenten von den WS_OVERLAPPEDWINDOW-Stil. Die vier Vorkommen der Konstante CW_USEDEFAULT legen Sie die ursprüngliche Größe und Position des Fensters auf die systemdefinierte Standardwerte. Durch Angabe von NULL anstelle von ein Menü-Handle, wird das Fenster Menü für die Window-Klasse definiert haben.

HINSTANCE Hinst; 
HWND HwndMain; 
 
/ / Das Hauptfenster zu erstellen. 
 
HwndMain = CreateWindowEx (0, / / keine erweiterte Stile "MainWClass", / / Klasse name "Hauptfenster", / / Fenster name WS_OVERLAPPEDWINDOW |   / / überlappende Fenster WS_HSCROLL |        / / horizontal Bildlaufleiste WS_VSCROLL, / / vertikale Bildlaufleiste CW_USEDEFAULT, / / standardmäßig horizontale position CW_USEDEFAULT, / / Standard vertikale position CW_USEDEFAULT, / / Standardbreite CW_USEDEFAULT, / / default Höhe (HWND) NULL, / / kein Elternteil oder Eigentümer Fenster (HMENU) NULL, / / Klasse Menü verwendet Hinstance, / / Instanz handle NULL);                  / / kein Fenster erstellen Daten wenn (! HwndMain) return FALSE; 
 
/ / Zeigen Sie das Fenster mit der Flagge von dem Programm angegeben / /, die die Anwendung gestartet, und senden Sie die Bewerbung / / eine WM_PAINT-Nachricht. 
 
ShowWindow (HwndMain, SW_SHOWDEFAULT); 
UpdateWindow(hwndMain) 

 

Beachten Sie, dass im vorherige Beispiel die ShowWindow -Funktion ruft nach dem Erstellen des Hauptfensters. Dies ist notwendig, da das System nicht automatisch im Hauptfenster angezeigt wird nach der Erstellung. Übergeben, die das SW_SHOWDEFAULT-Flag ShowWindow, die Anwendung das Programm ermöglicht es der Anwendung fest zeigen der ursprünglichen Zustand des Hauptfensters. Die UpdateWindow Funktion sendet das Fenster seine erste WM_PAINT -Meldung.

Index