Registrierung Kinder- und Rahmenfensterklassen

Eine typische MDI-Anwendung registrieren muss zwei Fensterklassen: eine für das Rahmenfenster und eine für die untergeordneten Fenster. Wenn eine Anwendung mehr als eine Art von Dokumenten (z. B. eine Tabelle und ein Diagramm) unterstützt, müssen sie registrieren eine Fensterklasse für jeden Typ.

Die Klassenstruktur für das Frame-Fenster ähnelt der Klassenstruktur für das Hauptfenster in nicht-MDI-Anwendungen. Die Klassenstruktur für das untergeordnete MDI-Fenster unterscheidet sich leicht von der Struktur für die untergeordneten Fenster in nicht-MDI-Anwendungen wie folgt:

Das folgende Beispiel zeigt, wie Multipad seinen Frame und untergeordneten Fensterklassen registriert.

BOOL WINAPI InitializeApplication() {WNDCLASS wc; 
 
    / / Registrieren die Rahmenfensterklasse. 
 
    WC.Style = 0; 
    WC.lpfnWndProc = (WNDPROC) MPFrameWndProc; 
    WC.CbClsExtra = 0; 
    WC.CbWndExtra = 0; 
    WC.HINSTANCE = hInst; 
    WC.hIcon = LoadIcon (hInst, IDMULTIPAD); 
    WC.hCursor = NULL LoadCursor((HANDLE), IDC_ARROW); 
    WC.hbrBackground = (HBRUSH) (COLOR_APPWORKSPACE + 1); 
    WC.lpszMenuName = IDMULTIPAD; 
    WC.lpszClassName = SzFrame; 
 
    If (!.RegisterClass (Amp; wc)) return FALSE; 
 
    / / Die MDI untergeordnete Fensterklasse registrieren. 
 
    WC.lpfnWndProc = (WNDPROC) MPMDIChildWndProc; 
    WC.hIcon = LoadIcon (hInst, IDNOTE); 
    WC.lpszMenuName = (LPCTSTR) NULL; 
    WC.CbWndExtra = CBWNDEXTRA; 
    WC.lpszClassName = SzChild; 
 
    If (!.RegisterClass (& wc)) return FALSE; 
 
    TRUE zurück; 
} 

 

Index