Связывание оконной процедуры с классом окна
Чтобы связать оконную процедуру с классом окна при регистрации класса, Вы должны заполнить структуру WNDCLASS информацией о классе, а член lpfnWndProc должен определять адрес оконной процедуры. Чтобы зарегистрировать класс, передайте адрес структуры WNDCLASS в функцию RegisterClass. Как только класс окна будет зарегистрирован, оконная процедура автоматически связывается с каждым новым окном, созданным этим классом.
В примере ниже показано, как связать оконную процедуру из предыдущего примера с классом окна.
Демонстрационный пример
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; // // Обработка других сообщений. // }int |