Zuordnen einer Fensterprozedur zu einer Fensterklasse

Sie ordnen eine Fensterprozedur eine Fensterklasse beim Registrieren der Klasse. Sie müssen Ausfüllen einer WNDCLASS Struktur mit Informationen über die Klasse und das LpfnWndProc Mitglied muss die Adresse die Fensterprozedur angeben. Um die Klasse zu registrieren, übergeben Sie die Adresse der WNDCLASS Struktur der RegisterClass -Funktion. Sobald die Fensterklasse registriert ist, wird die Fensterprozedur automatisch verknüpft mit jeder neuen Fenster erstellt mit dieser Klasse.

Im folgenden Beispiel wird veranschaulicht, wie die Fensterprozedur, die im vorherigen Beispiel eine Fensterklasse zuordnen.

int &APIENTRY WinMain (HINSTANCE Hinstance, / / handle für die aktuelle Instanz HINSTANCE HinstPrev, / / handle auf vorherige Instanz LPSTR Parent, / / Adresse der Befehlszeile string Int height) / / Schaufenster geben {WNDCLASS wc; 
 
    / / Registrieren die Hauptfenster-Klasse. 
    WC.style = CS_HREDRAW | CS_VREDRAW; 
    WC.lpfnWndProc = (WNDPROC) MainWndProc; 
    WC.CbClsExtra = 0; 
    WC.CbWndExtra = 0; 
    WC.HINSTANCE = Hinstance; 
    WC.hIcon = LoadIcon (NULL, IDI_APPLICATION); 
    WC.hCursor = LoadCursor (NULL, IDC_ARROW); 
    WC.hbrBackground = GetStockObject(WHITE_BRUSH); 
    WC.lpszMenuName = "MainMenu"; 
    WC.lpszClassName = "MainWindowClass"; 
 
    If (!.RegisterClass(amp;wc)) return FALSE; 
 
    / / / / Weitere Nachrichten verarbeiten. 
    // 
 
} 

 

Index