Стилі шаблону - діалогового вікна

Стилі шаблону діалогового вікна

Кожен шаблон діалогового вікна визначає комбінацію значень стилю, які визначають зовнішній вигляд і функціональні властивості блоку діалогу. Значення стилю можуть бути стилями вікна, такими якWS_POPUPіWS_SYSMENU, та стилями діалогового вікна, такими якDS_MODALFRAME. Кількість та типи стилів шаблону залежать від типу та призначення діалогового вікна.

Система передає всі стилі вікна, задані в шаблоніCreateWindowExпри створенні діалогового вікна. Система може передати один або кілька додаткових стилів, залежно від заданих стилів діалогового вікна. Наприклад, якщо шаблон задає стильDS_MODALFRAME, система при створенні діалогового вікна використовує стильWS_EX_DLGMODALFRAME.

Більшість діалогових вікон - це вікна, що спливають, які мають системне меню і область заголовка. Тому типовий шаблон встановлює стиліWS_POPUP,WS_SYSMENUтаWS_CAPTION. Шаблон також задає стиль рамки:WS_BORDERдля немодальних діалогових вікон іDS_MODALFRAMEдля модальних блоків діалогу. Шаблон може встановити тип вікна інший, а не спливаючий (такий якWS_OVERLAPPED), якщо він створює вікно користувача замість діалогового вікна.

Система завжди показує на екрані модальне діалогове вікно незалежно від того, чи визначено стильWS_VISIBLE. Коли шаблон для немодального діалогового вікна визначає стильWS_VISIBLE, система автоматично показує на екрані діалогове вікно, коли воно створюється. Або ж, програма відповідає за показ на екрані діалогового вікна, використовуючи функціюShowWindow.

Нижченаведена таблиця перераховує стилі діалогового вікна, які Ви можетевстановити, коли створюєте діалогове вікно. Ви можете використовувати ці стилі при викликах функційCreateWindowіCreateWindowEx, у членіstyleструктурDLGTEMPLATEтаDLGTEMPLATEEXі в операторі визначення діалогового вікна у файлі ресурсу.

Значення Призначення
DS_3DLOOKДає діалоговому вікну нежирний шрифт і малює тривимірні межі навколо вікон органів управління діалоговому вікні.

Якщо ніDS_SETFONT, ніDS_SHELLFONTне визначено, шаблон діалогового вікна не включає дані шрифту.DS_SETFOREGROUNDПримушує систему використовувати функціюSetForegroundWindow, щоб привести діалогове вікно у високопріоритетний стан. Цей стиль корисний для модальних діалогових вікон, які вимагають негайної уваги від користувача незалежно від того, чи є вікно власником пріоритетного вікна.

Windows 98/Me, Windows 2000/XP:Система обмежує процеси, які можуть встановити високопріоритетне вікно. Додаткову інформацію див. у статтіПріоритетні та фонові вікна.DS_SHELLFONTВказує, що діалогове вікно має використовувати системний шрифт. Член структуриtypefaceрозширеного шаблону діалогового вікна має бути встановлений уMS Shell Dlg. Або ж, цей стиль не має жодної дії. Також рекомендується, щоб Ви використовували ресурсDIALOGEX, а не ресурсDIALOG. Додаткову інформацію див. у статтіШрифти діалогового вікна.

Система вибирає шрифт, використовуючи дані шрифту, задані в членахpointsize,weightтаitalic. Система передає дескриптор шрифту діалоговому вікнукожному органу управління, надсилаючи їм повідомленняWM_SETFONT. Для опису формату цих даних шрифту див. описDLGTEMPLATEEX.

Якщо ніDS_SHELLFONT, ніDS_SETFONTне визначено, розширений шаблон діалогового вікна не включає дані про шрифт.