Стили диалоговых окон

В следующей таблице перечислены стили диалоговых окон, которые можно указать при создании диалогового окна. Эти стили можно использовать в вызовах функций CreateWindow и CreateWindowEx , в элементе стиля структур DLGTEMPLATE и DLGTEMPLATEEX , а также в инструкции определения диалогового окна в файле ресурсов.

Константа Описание
DS_3DLOOK
Является устаревшей. Система автоматически применяет трехмерный вид к диалоговым окнам, созданным приложениями.
DS_ABSALIGN
Указывает, что координаты диалогового окна являются экранными координатами. Если этот стиль не указан, координаты являются клиентскими.
DS_CENTER
Центр диалогового окна в рабочей области монитора, содержащего окно владельца. Если окно-владелец не указано, диалоговое окно выцентрируется по центру в рабочей области монитора, определенного системой. Рабочая область — это область, не скрытая панелью задач или любыми панельми приложений.
DS_CENTERMOUSE
Центр диалогового окна на курсоре мыши.
DS_CONTEXTHELP
Включает вопросительный знак в заголовок диалогового окна. Когда пользователь щелкает вопросительный знак, курсор меняется на вопросительный знак с указателем. Если пользователь щелкает элемент управления в диалоговом окне, элемент управления получает WM_HELP сообщение. Элемент управления должен передать сообщение в процедуру диалогового окна, которая должна вызвать функцию с помощью команды HELP_WM_HELP . В приложении справки отображается всплывающее окно, которое обычно содержит справку по элементу управления .
Обратите внимание, что DS_CONTEXTHELP — это только заполнитель. При создании диалогового окна система проверяет наличие DS_CONTEXTHELP и добавляет WS_EX_CONTEXTHELP в расширенный стиль диалогового окна. WS_EX_CONTEXTHELP нельзя использовать со стилями WS_MAXIMIZEBOX или WS_MINIMIZEBOX .
DS_CONTROL
Создает диалоговое окно, которое хорошо работает как дочернее окно другого диалогового окна, подобно странице на странице свойств. Этот стиль позволяет пользователю переходить между окнами управления дочернего диалогового окна, использовать клавиши ускорителя и т. д.
DS_FIXEDSYS
Заставляет диалоговое окно использовать SYSTEM_FIXED_FONT вместо SYSTEM_FONT по умолчанию. Это монопространствовый шрифт, совместимый с шрифтом System в 16-разрядных версиях Windows до 3.0.
DS_LOCALEDIT
Применяется только к 16-разрядным приложениям. Этот стиль позволяет изменить элементы управления в диалоговом окне, чтобы выделить память из сегмента данных приложения. В противном случае элементы управления редактированием выделяют хранилище из объекта глобальной памяти.
DS_MODALFRAME
Создает диалоговое окно с модальным фреймом диалогового окна, которое можно объединить с заголовком окна и меню окна, указав стили WS_CAPTION и WS_SYSMENU .
DS_NOFAILCREATE
Создает диалоговое окно, даже если возникают ошибки, например, если не удается создать дочернее окно или система не может создать специальный сегмент данных для элемента управления редактированием.
DS_NOIDLEMSG
Подавляет WM_ENTERIDLE сообщения, которые система в противном случае отправляла бы владельцу диалогового окна при отображении диалогового окна.
DS_SETFONT
Указывает, что заголовок шаблона диалогового окна (стандартный или расширенный) содержит дополнительные данные, указывающие шрифт, используемый для текста в клиентской области и элементах управления диалогового окна. По возможности система выбирает шрифт в соответствии с указанными данными шрифта. Система передает дескриптор шрифта в диалоговое окно и в каждый элемент управления, отправляя им WM_SETFONT сообщение. Описание формата данных шрифта см. в разделах DLGTEMPLATE и DLGTEMPLATEEX.
Если ни DS_SETFONT , ни DS_SHELLFONT не указаны, шаблон диалогового окна не включает данные шрифта.
DS_SETFOREGROUND
Заставляет систему использовать функцию SetForegroundWindow для переведения диалогового окна на передний план. Этот стиль полезен для модальных диалоговых окон, требующих немедленного внимания со стороны пользователя, независимо от того, является ли окно владельца окном переднего плана.
Система ограничивает, какие процессы могут задавать окно переднего плана. Дополнительные сведения см. в разделе Окна переднего плана и фона.
DS_SHELLFONT
Указывает, что диалоговое окно должно использовать системный шрифт. Элемент шрифта расширенного шаблона диалогового окна должен иметь значение MS Shell Dlg. В противном случае этот стиль не действует. Также рекомендуется использовать ресурс DIALOGEX, а не ресурс DIALOG. Дополнительные сведения см. в разделе Шрифты диалогового окна.
Система выбирает шрифт, используя данные шрифта, указанные в элементах pointsize, weight и italic . Система передает дескриптор шрифта в диалоговое окно и в каждый элемент управления, отправляя им WM_SETFONT сообщение. Описание формата данных шрифта см. в разделе DLGTEMPLATEEX.
Если ни DS_SHELLFONT , ни DS_SETFONT не указаны, расширенный шаблон диалогового окна не включает данные шрифта.
DS_SYSMODAL
Этот стиль устарел и включен для совместимости с 16-разрядными версиями Windows. Если указать этот стиль, система создает диалоговое окно со стилем WS_EX_TOPMOST . Этот стиль не препятствует доступу пользователя к другим окнам на рабочем столе.
Не сочетайте этот стиль со стилем DS_CONTROL .

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Winuser.h (включая Windows.h)