Шаг 56 - Основная функция окна.
Эта функция производит обработку сообщений для окна. Мы ее связываем с окном при заполнении структуры класса окна WNDCLASS в поле lpfnWndProc:
WNDCLASS WC;
......
WC.lpfnWndProc = WndProc;
Вот эта функция WndProc и будет получать сообщения, которые Windows будет отсылать окну. Соответственно эта функция должна быть объявлена ранее. Прототип у этой функции такой:
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM,LPARAM);
Общий вид для реализации:
LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wparam,LPARAM lparam)
{
if (Message == WM_DESTROY )
{
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd,Message,wparam,lparam);
}
В этой функции мы обрабатываем сообщения от Windows. При этом, если обработку не совершаем, то вызываем функцию по умолчанию DefWindowProc, которая уммет обрабатывать сообщения по умолчанию.
LRESULT DefWindowProc
(
HWND hWnd, // указатель окна
UINT Msg, // идентификатор сообщения
WPARAM wParam, // первый параметр сообщения
LPARAM lParam // второй параметр сообщения
);
Возврашает результат обработки сообщения. Обычно в функции WndProc организуется огромный switch для обработки сообщений.
Предыдущий Шаг | Следующий Шаг | Оглавление By Artem.
Используются технологии uCoz
|