Связывание оконной процедуры с классом окна


Чтобы связать оконную процедуру с классом окна при регистрации класса, Вы должны заполнить структуру WNDCLASS информацией о классе, а член lpfnWndProc должен определять адрес оконной процедуры. Чтобы зарегистрировать класс, передайте адрес структуры WNDCLASS в функцию RegisterClass. Как только класс окна будет зарегистрирован, оконная процедура автоматически связывается с каждым новым окном, созданным этим классом.

В примере ниже показано, как связать оконную процедуру из предыдущего примера с классом окна.

Демонстрационный пример

int APIENTRY WinMain( 
    HINSTANCE hinstance,  // дескриптор текущего экземпляра 
    HINSTANCE hinstPrev,  // дескриптор предыдущего экземпляра 
    LPSTR lpCmdLine,      // адрес командной строки 
    int nCmdShow)         // тип показа окна 
{ 
    WNDCLASS wc; 
 
    // Регистрация класса главного окна. 
    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(&wc)) 
       return FALSE; 
 
    // 
    // Обработка других сообщений. 
    // 
 
}

Назад в оглавление
На главную страницу

Hosted by uCoz