В прикладном программировании Win32 WindowProc (или оконная процедура ) - это определяемая пользователем функция обратного вызова, которая обрабатывает сообщения, отправленные в окно. Эта функция указывается, когда приложение регистрирует свой класс окна, и ей можно присвоить любое имя (не обязательно WindowProc ).
Обработка сообщений
Оконная процедура отвечает за обработку всех сообщений, отправляемых окну. Прототип функции из WindowProc определяется по формуле:
LRESULT CALLBACK WindowProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
hWnd - это дескриптор окна, в которое было отправлено сообщение, а uMsg идентифицирует фактическое сообщение. wParam и lParam - это параметры, значение которых зависит от сообщения. Приложение должно идентифицировать сообщение и предпринять необходимые действия.
Обработка по умолчанию
Сотни различных сообщений создаются в результате различных событий, происходящих в системе, и обычно приложение обрабатывает лишь небольшую часть этих сообщений. Чтобы гарантировать обработку всех сообщений, Windows предоставляет оконную процедуру по умолчанию, называемую DefWindowProc, которая обеспечивает обработку по умолчанию для сообщений, которые само приложение не обрабатывает.
Приложение обычно вызывает DefWindowProc в конце своей собственной функции WindowProc, так что все сообщения, которые оно не обработало, передаются в процедуру по умолчанию.