Knytte en vindusprosedyre med en vindusklasse

Du kan knytte en vindusprosedyre med en vindusklasse når du registrerer klassen. Du må fylle en WNDCLASS struktur med informasjon om klassen og lpfnWndProc -medlem må angi adressen til vinduet prosedyren. For å registrere klassen, sende adressen til WNDCLASS strukturen til RegisterClass -funksjonen. Når Vindusklassen er registrert, er vinduet prosedyren automatisk forbundet med hvert nye vindu som er opprettet med at klassen.

Følgende eksempel viser hvordan du knytter vindusprosedyre i det forrige eksemplet med en vindusklasse.

int &APIENTRY WinMain (HINSTANCE hinstance, / / håndtere til gjeldende forekomst HINSTANCE hinstPrev, / / håndtere til forrige forekomst LPSTR lpCmdLine, / / adressen til kommandolinjeverktøyet streng nCmdShow int) / / Vis-vinduet skriver du inn {WNDCLASS wc; 
 
    / / Registrer hovedvinduet i klassen. 
    WC.style = CS_HREDRAW | CS_VREDRAW; 
    WC.lpfnWndProc = MainWndProc (WNDPROC); 
    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 = "Hovedmeny"; 
    WC.lpszClassName = "MainWindowClass"; 
 
    if (!.RegisterClass(amp;wc)) return FALSE; 
 
    / / / / Behandle andre meldinger. 
    // 
 
} 

 

Index