Поделиться через


Стили расширенных окон

Ниже приведены расширенные стили окон, которые можно использовать вместе с функциями CreateWindowExA/CreateWindowExW.

Константа/значение Описание
WS_EX_ACCEPTFILES
0x00000010L
Окно принимает файлы перетаскивания.
WS_EX_APPWINDOW
0x00040000L
Принудительно создает окно верхнего уровня на панели задач, когда окно отображается.
WS_EX_CLIENTEDGE
0x00000200L
Окно имеет границу с затопленным краем.
WS_EX_COMPOSITED
0x02000000L
Красит всех потомков окна в порядке рисования внизу к верхней части с помощью двойного буферизации. Порядок рисования вниз к верхней части позволяет окну окну иметь эффекты транслюкции (альфа) и прозрачности (цвет-ключ), но только в том случае, если в окне потомков также есть набор битов WS_EX_TRANSPARENT. Двойное буферизация позволяет окну и его потомкам быть окрашены без мерцания. Это нельзя использовать, если в окне есть стиль класса CS_OWNDC, CS_CLASSDCили CS_PARENTDC.
Windows 2000: этот стиль не поддерживается.
WS_EX_CONTEXTHELP
0x00000400L
Заголовок окна содержит вопросительный знак. Когда пользователь щелкает вопросительный знак, курсор изменяется на вопросительный знак с указателем. Если пользователь щелкает дочернее окно, ребенок получает сообщение WM_HELP. Дочернее окно должно передавать сообщение в процедуру родительского окна, которая должна вызывать функцию WinHelp с помощью команды HELP_WM_HELP. В приложении справки отображается всплывающее окно, которое обычно содержит справку для дочернего окна.
WS_EX_CONTEXTHELP нельзя использовать с стилями WS_MAXIMIZEBOX или WS_MINIMIZEBOX.
WS_EX_CONTROLPARENT
0x00010000L
Само окно содержит дочерние окна, которые должны принимать участие в навигации по диалоговому окну. Если этот стиль указан, диспетчер диалогов рекурсирует в дочерние элементы этого окна при выполнении операций навигации, таких как обработка клавиши TAB, клавиши со стрелками или клавиатуры.
WS_EX_DLGMODALFRAME
0x000000001L
Окно имеет двойную границу; Окно может быть создано с помощью строки заголовка, указав стиль WS_CAPTION в параметре dwStyle.
WS_EX_LAYERED
0x00080000
Окно представляет собой многоуровневое окно. Этот стиль нельзя использовать, если в окне есть стиль класса CS_OWNDC или CS_CLASSDC.
Windows 8: стиль WS_EX_LAYERED поддерживается для окон верхнего уровня и дочерних окон. Предыдущие версии Windows поддерживают WS_EX_LAYERED только для окон верхнего уровня.
WS_EX_LAYOUTRTL
0x00400000L
Если язык оболочки — иврит, арабский или другой язык, поддерживающий выравнивание порядка чтения, горизонтальный источник окна находится на правом краю. Увеличение горизонтальных значений слева.
WS_EX_LEFT
0x000000000L
Окно имеет универсальные свойства, выровненные по левому краю. Это значение по умолчанию.
WS_EX_LEFTSCROLLBAR
0x00004000L
Если язык оболочки — иврит, арабский или другой язык, поддерживающий выравнивание порядка чтения, вертикальная полоса прокрутки (если присутствует) находится слева от клиентской области. Для других языков стиль игнорируется.
WS_EX_LTRREADING
0x000000000L
Текст окна отображается с помощью свойств порядка чтения слева направо. Это значение по умолчанию.
WS_EX_MDICHILD
0x000000040L
Окно — это дочернее окно MDI.
WS_EX_NOACTIVATE
0x08000000L
Окно верхнего уровня, созданное с помощью этого стиля, не становится окном переднего плана, когда пользователь щелкает его. Система не переносит это окно на передний план, когда пользователь сворачивать или закрывать окно переднего плана.
Окно не должно быть активировано программным доступом или с помощью навигации по клавиатуре с помощью доступных технологий, таких как экранный диктор.
Чтобы активировать окно, используйте функцию SetActiveWindow или SetForegroundWindow.
Окно по умолчанию не отображается на панели задач. Чтобы принудительно открыть окно на панели задач, используйте стиль WS_EX_APPWINDOW.
WS_EX_NOINHERITLAYOUT
0x00100000L
Окно не передает макет окна дочерним окнам.
WS_EX_NOPARENTNOTIFY
0x000000004L
Дочернее окно, созданное с помощью этого стиля, не отправляет сообщение WM_PARENTNOTIFY в родительское окно при его создании или уничтожении.
WS_EX_NOREDIRECTIONBITMAP
0x00200000L
Окно не отображается в области перенаправления. Это касается окон, которые не имеют видимого содержимого или используют механизмы, отличные от поверхностей, для предоставления их визуального элемента.
WS_EX_OVERLAPPEDWINDOW
(WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE)
Окно является перекрывающимся окном.
WS_EX_PALETTEWINDOW
(WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST)
Окно палитры — это диалоговое окно без режима, представляющее массив команд.
WS_EX_RIGHT
0x00001000L
В окне имеются универсальные свойства с выравниванием по правому краю. Это зависит от класса окна. Этот стиль действует только в том случае, если язык оболочки — иврит, арабский или другой язык, поддерживающий выравнивание порядка чтения; в противном случае стиль игнорируется.
Использование стиля WS_EX_RIGHT для статических элементов управления или редактирования имеет тот же эффект, что и использование стиля SS_RIGHT или ES_RIGHT соответственно. Использование этого стиля с элементами управления кнопками имеет тот же эффект, что и использование стилей BS_RIGHT и BS_RIGHTBUTTON.
WS_EX_RIGHTSCROLLBAR
0x000000000L
Вертикальная полоса прокрутки (если присутствует) находится справа от клиентской области. Это значение по умолчанию.
WS_EX_RTLREADING
0x00002000L
Если язык оболочки — иврит, арабский или другой язык, поддерживающий выравнивание порядка чтения, текст окна отображается с помощью свойств порядка чтения вправо налево. Для других языков стиль игнорируется.
WS_EX_STATICEDGE
0x0002000L
Окно имеет трехмерный стиль границы, предназначенный для элементов, которые не принимают входные данные пользователя.
WS_EX_TOOLWINDOW
0x00000080L
Окно предназначено для использования в качестве плавающей панели инструментов. Окно инструментов имеет строку заголовка, которая короче обычной строки заголовка, а заголовок окна рисуется с помощью меньшего шрифта. Окно инструментов не отображается на панели задач или в диалоговом окне, которое отображается при нажатии клавиш ALT+TAB. Если в окне инструментов есть системное меню, его значок не отображается в строке заголовка. Однако можно отобразить системное меню, щелкнув правой кнопкой мыши или введя КЛАВИШИ ALT+ПРОБЕЛ.
WS_EX_TOPMOST
0x000000008L
Окно должно быть помещено над всеми самыми верхними окнами и должно оставаться над ними, даже если окно деактивировано. Чтобы добавить или удалить этот стиль, используйте функцию SetWindowPos.
WS_EX_TRANSPARENT
0x000000020L
Окно не должно быть окрашено до тех пор, пока братья и сестры под окном (созданные тем же потоком) не были окрашены. Окно отображается прозрачным, так как биты базовых одноуровневых окон уже были окрашены.
Чтобы обеспечить прозрачность без этих ограничений, используйте функцию SetWindowRgn.
WS_EX_WINDOWEDGE
0x00000100L
Окно имеет границу с поднятым краем.

Требования

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