Обработка сообщений диалогового окна по умолчанию
Оконная процедура предопределенного класса диалогового окна выполняет обработку по умолчанию всех сообщений, которые не обрабатывает процедура диалогового окна. Когда процедура диалогового окна возвращает значение ЛОЖЬ (FALSE) для какого-либо сообщения, предопределенная оконная процедура проверяет сообщения и осуществляет нижеследующие заданные по умолчанию действия:
Сообщение |
Действие по умолчанию |
---|---|
|
Вы можете отправить это сообщение диалоговому окну. Диалоговое окно возвращает идентификатор органа управления заданной по умолчанию командной кнопки, если в блоке диалога она есть; в противном случае, окно возвращает нуль. |
|
Вы можете отправить это сообщение диалоговому окну верхнего уровня. Диалоговое окно изменит свое положение, так чтобы помещаться в пределах области рабочего стола. |
|
Вы можете отправить это сообщение диалоговому окну. Диалоговое окно устанавливает заданную по умолчанию командную кнопку в орган управления, заданный идентификатором органа управления в параметре wParam. |
|
Если диалоговое окно становится активным, восстанавливает фокус ввода данных в органе управления, идентифицированным предварительно сохраненным дескриптором. В противном случае, процедура сохраняет дескриптор органа управления, владеющего фокусом ввода данных. |
|
Возвращает нуль. |
|
Посылает уведомительное сообщение BN_CLICKED диалоговому окну, определяя IDCANCEL как идентификатор органа управления. Если диалоговое окно имеет идентификатор органа управления IDCANCEL, а орган управления в текущий момент отключен, процедура подает сигнал предупреждения и не посылает сообщение. |
|
Возвращает нуль. |
WM_ERASEBKGND | Закрашивает рабочую область диалогового окна, используя или кисть, возвращенную из сообщения WM_CTLCOLORDLG или заданным по умолчанию цветом окна. |
|
Возвращает дескриптор определяемого программой шрифта диалогового окна. |
WM_INITDIALOG | Возвращает нуль. |
|
Отправляет сообщение CB_SHOWDROPDOWN комбинированному окну, имеющему фокус ввода данных, предписывая органу управления скрыть его выпадающее окно списка. Процедура вызывает DefWindowProc, чтобы завершить заданное по умолчанию действие. |
|
Освобождает глобальную память, распределенную для полей редактирования текста в диалоговом окне (применяется к блокам диалога, в которых установлен стиль DS_LOCALEDIT) и освобождает любой определяемый программой шрифт (применяется к диалоговым окнам, в которых установлен стиль DS_SETFONT или DS_SHELLFONT ). Процедура вызывает функцию DefWindowProc, чтобы завершить заданное по умолчанию действие. |
|
Отправляет сообщение CB_SHOWDROPDOWN комбинированному окну, имеющему фокус ввода данных, предписывая органу управления скрыть его выпадающее окно списка. Процедура вызывает DefWindowProc, чтобы завершить заданное по умолчанию действие. |
|
Устанавливает фокус ввода данных в следующем или предыдущем органе управления в диалоговом окне, которое идентифицировано дескриптором в параметре wParam , или в первом органе управления блока диалога, которое является видимым, не заблокированным и имеет стиль WS_TABSTOP. Процедура игнорирует это сообщение, если текущее окно с фокусом ввода данных - не орган управления. |
|
Устанавливает фокус ввода данных в орган управления, предварительно идентифицированный сохраненным дескриптором окна органа управления. Если такой дескриптор не существует, процедура устанавливает фокус ввода данных в первом органе управления в шаблоне диалогового окна, который является видимым, не заблокированным имеет стиль WS_TABSTOP. Если и такой орган управления не существует, процедура устанавливает фокус ввода данных в первый орган управления в шаблоне. |
|
Если блок диалога скрывается, то сохраняет дескриптор органа управления, имеющего фокус ввода данных, затем вызывает DefWindowProc, чтобы завершить заданное по умолчанию действие. |
|
Если блок диалога свертывается, то сохраняет дескриптор органа управления, имеющего фокус ввода данных, затем вызывает DefWindowProc, чтобы завершить заданное по умолчанию действие. |
|
Возвращает нуль. |
Предопределенная оконная процедура переправляет все другие сообщения в DefWindowProc для заданной по умолчанию обработки.