Инструменты пользователя

Инструменты сайта


Боковая панель

Связь

wm_initdialog

WM_INITDIALOG

Сообщение WM_INITDIALOG отправляется процедуре диалогового окна непосредственно перед показом на экране диалогового окна. Процедуры диалогового окна обычно используют это сообщение, чтобы инициализировать органы управления и выполнить какие-либо другие задачи инициализации, которые влияют на внешний вид блока диалога.

Система не отправляет сообщениеWM_CREATE процедуре диалогового окна. Вместо него, когда создает диалоговое окно, она отправляет сообщение WM_INITDIALOG, как и всем его органам управления, но перед этим она показывает диалоговое окно на экране. Процедура должна выполнить любой инициализационный запрос, гарантируя то, что диалоговое окно показывает на экране текущие параметры, связанные с задачей. Например, когда диалоговое окно содержит орган управления, который показывает текущие диск и каталог, процедура должна установить текущий диск и каталог и задать в органе управления эти значения.

Процедура может инициализировать органы управления при помощи использования таких функций, как SetDlgItemText и CheckDlgButton. Поскольку органы управления - тоже окна, процедура может также манипулировать ими и при помощи использования функций управления окном, такими как EnableWindow и SetFocus. Процедура может извлечь дескриптор окна органа управления, используя функцию GetDlgItem.

Процедура диалогового окна может изменить, когда это необходимо, содержимое, состояние и расположение любого органа управления. Например, в диалоговом окне, которое содержит список имен файлов и кнопку Отрыть (Open), процедура может заблокировать кнопку Открыть до тех пор, пока пользователь не выберет файл из списка. В этом случае шаблон диалогового окна определяет для кнопки Открыть (Open) стиль WS_DISABLED, а система автоматически блокирует кнопку, когда создает ее. Когда процедура диалогового окна принимает уведомительное сообщение от окна со списком, которое указывает, что пользователь выбрал файл, она вызывает функцию EnableWindow, которая разрешает работу кнопки Открыть (Open).

Чтобы показать на экране пользовательский значок на панели заголовка диалогового окна, ваш обработчик сообщения WM_INITDIALOG может отправить сообщение WM_SETICON блоку диалога.




wm_initdialog.txt · Последние изменения: 2011/04/09 12:47 (внешнее изменение)