Шаблоны диалогового окна
Шаблон диалогового окна - это двоичные данные, который описывают диалоговое окно, определяя его высоту, ширину, стиль и органы управления, который он содержит. Чтобы создать диалоговое окно, система или загружает его шаблон из ресурсов в исполняемом файле приложения, или использует шаблон, переданный приложением для неё в глобальной памяти. В любом случае, приложение при создании диалогового окна должно предоставлять шаблон.
Разработчик создает ресурсы шаблона, используя компилятор ресурса или редактор диалогового окна. Компилятор ресурса преобразует описание текста в двоичный ресурс, а редактор диалогового окна сохраняет в интерактивном режиме созданное диалоговое окно как двоичный ресурс.
Обратите внимание! на то, что объяснение того, как создавать ресурсы шаблона и добавлять их к исполняемому файлу приложения - за пределами области рассмотрения этого общего обзора. Дополнительную информацию о создании ресурсов шаблона и добавления их к исполняемому файлу, см. документацию, предоставляемую с вашими инструментальными средствами разработки приложения. |
Чтобы создать диалоговое окно, не используя ресурсы шаблона, нужно создать шаблон в памяти и передать его в функцию CreateDialogIndirectParam или DialogBoxIndirectParam, или в макрос CreateDialogIndirect или DialogBoxIndirect.
Шаблон диалогового окна в памяти состоит из заголовка, который описывает диалоговое окно, сопровождаемого одним или несколькими дополнительными блоками данных, которые описывают каждый орган управления в диалоговом окне. Шаблон может использовать или стандартный или расширенный формат. В стандартном шаблоне, заголовок - это структура DLGTEMPLATE, сопровождаемая дополнительными массивами переменной длины; а данные для каждого органа управления состоят из структуры DLGITEMTEMPLATE, сопровождаемой дополнительными массивами переменной длины. В расширенном шаблоне диалогового окна, заголовок использует формат DLGTEMPLATEEX, а определения органа управления используют формат DLGITEMTEMPLATEEX.
Вы можете создать шаблон в памяти, помещая его в объект глобальной памяти и заполняя стандартным или расширенным заголовком и определениями органов управления. Шаблон в памяти идентичен по форме и содержанию ресурсу шаблона. Многие приложения, которые используют шаблоны в памяти сначала используют функцию LoadResource, чтобы загрузить ресурс шаблона в память, а затем изменяют загруженный ресурс, чтобы создать новый шаблон в памяти. Дополнительную информацию о создании шаблона диалогового окна в памяти, см. Шаблоны в памяти.
Нижеследующие разделы описывают стили, размеры и другие значения, используемые в шаблоне диалогового окна.