扩展的窗口样式

以下是扩展窗口样式。

示例


virtual    BOOL    Create(HWND hWndParent, WCHAR* pwszClassName,
                            WCHAR* pwszWindowName, UINT uID, HICON hIcon,
                            DWORD dwStyle = WS_OVERLAPPEDWINDOW,
                            DWORD dwExStyle = WS_EX_APPWINDOW,
                            int x = CW_USEDEFAULT, int y = CW_USEDEFAULT,
                            int cx = CW_USEDEFAULT, int cy = CW_USEDEFAULT);

此代码取自 Windows 经典示例 GitHub 存储库中的一个示例。

常量/值 说明
WS_EX_ACCEPTFILES
0x00000010L
窗口接受拖放文件。
WS_EX_APPWINDOW
0x00040000L
在顶级窗口可见时强行将其放在任务栏上。
WS_EX_CLIENTEDGE
0x00000200L
窗口有一个带有凹陷边缘的边框。
WS_EX_COMPOSITED
0x02000000L
使用双缓冲按从下到上绘制顺序绘制窗口的所有后代。 从下到上绘制顺序允许后代窗口具有半透明 (alpha) 和透明度 (颜色键) 效果,但前提是后代窗口还设置了WS_EX_TRANSPARENT位。 通过双重缓冲,可以在不闪烁的情况下绘制窗口及其后代。 如果窗口的 类样式CS_OWNDCCS_CLASSDC,则无法使用此选项。
Windows 2000: 不支持此样式。
WS_EX_CONTEXTHELP
0x00000400L
窗口的标题栏包含问号。 当用户单击该问号时,光标将变成带指针的问号。 如果用户随后单击子窗口,则子窗口将收到 WM_HELP 消息。 子窗口应将消息传递到父窗口过程,父窗口过程应使用 HELP_WM_HELP 命令调用 WinHelp 函数。 帮助应用程序显示一个弹出窗口,该窗口通常包含子窗口的帮助。
WS_EX_CONTEXTHELP 不能与 WS_MAXIMIZEBOXWS_MINIMIZEBOX 样式一起使用。
WS_EX_CONTROLPARENT
0x00010000L
窗口本身包含应参与对话框导航的子窗口。 如果指定了此样式,则执行导航操作(例如处理 TAB 键、箭头键或键盘助记键)时,对话管理器将递归为此窗口的子级。
WS_EX_DLGMODALFRAME
0x00000001L
窗口有一个双边框:(可选)可以通过在 dwStyle 参数中指定WS_CAPTION样式来创建带有标题栏的窗口。
WS_EX_LAYERED
0x00080000
该窗口是一个分层窗口。 如果窗口的 类样式CS_OWNDCCS_CLASSDC,则不能使用此样式。
Windows 8:顶级窗口和子窗口支持WS_EX_LAYERED样式。 以前的 Windows 版本仅支持 顶级窗口WS_EX_LAYERED
WS_EX_LAYOUTRTL
0x00400000L
如果 shell 语言是希伯来语、阿拉伯语或其他支持阅读顺序对齐的语言,则窗口的水平原点位于右边缘。 增加水平值后向左。
WS_EX_LEFT
0x00000000L
窗口具有泛型左对齐属性。 这是默认设置。
WS_EX_LEFTSCROLLBAR
0x00004000L
如果 shell 语言是希伯来语、阿拉伯语或其他支持阅读顺序对齐的语言,则垂直滚动条 ((如果存在) )位于工作区左侧。 对于其他语言,将忽略该样式。
WS_EX_LTRREADING
0x00000000L
窗口文本使用从左到右的阅读顺序属性显示。 这是默认值。
WS_EX_MDICHILD
0x00000040L
该窗口是 MDI 子窗口。
WS_EX_NOACTIVATE
0x08000000L
用户单击时,使用此样式创建的顶级窗口不会成为前台窗口。 当用户最小化或关闭前台窗口时,系统不会将此窗口带到前台。
不应通过编程访问或通过键盘导航(如讲述人)激活窗口。
若要激活窗口,请使用 SetActiveWindowSetForegroundWindow 函数。
默认情况下,窗口不会显示在任务栏上。 若要强制窗口显示在任务栏上,请使用 WS_EX_APPWINDOW 样式。
WS_EX_NOINHERITLAYOUT
0x00100000L
窗口不将其窗口布局传递给其子窗口。
WS_EX_NOPARENTNOTIFY
0x00000004L
使用此样式创建的子窗口在创建或销毁时不会将 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
窗口具有通用的“右对齐”属性。 这依赖于窗口类。 仅当 shell 语言是希伯来语、阿拉伯语或其他支持阅读顺序对齐的语言时,此样式才有效;否则,将忽略该样式。
对静态控件或编辑控件使用 WS_EX_RIGHT 样式的效果与分别使用 SS_RIGHTES_RIGHT 样式的效果相同。 将此样式用于按钮控件的效果与使用 BS_RIGHTBS_RIGHTBUTTON 样式的效果相同。
WS_EX_RIGHTSCROLLBAR
0x00000000L
如果) 位于工作区右侧,则垂直滚动条 (。 这是默认值。
WS_EX_RTLREADING
0x00002000L
如果 shell 语言是希伯来语、阿拉伯语或其他支持阅读顺序对齐的语言,则使用从右到左的阅读顺序属性显示窗口文本。 对于其他语言,将忽略该样式。
WS_EX_STATICEDGE
0x00020000L
窗口具有三维边框样式,旨在用于不接受用户输入的项。
WS_EX_TOOLWINDOW
0x00000080L
该窗口旨在用作浮动工具栏。 工具窗口具有短于普通标题栏的标题栏和使用较小的字体绘制的窗口标题。 工具窗口不会显示在任务栏中,也不会显示在用户按 Alt+TAB 时显示的对话框中。 如果工具窗口具有系统菜单,则其图标不会显示在标题栏上。 但是,可以通过右键单击或键入 ALT+SPACE 来显示系统菜单。
WS_EX_TOPMOST
0x00000008L
窗口应放置在所有非最顶部窗口的上方,并且应保持在窗口上方,即使窗口已停用也是如此。 若要添加或删除此样式,请使用 SetWindowPos 函数。
WS_EX_TRANSPARENT
0x00000020L
在绘制由同一线程) 创建的窗口下的同级 (之前,不应绘制窗口。 该窗口显示为透明,因为基础同级窗口的位已被绘制。
若要在不受这些限制的情况下实现透明度,请使用 SetWindowRgn 函数。
WS_EX_WINDOWEDGE
0x00000100L
窗口的边框带有凸起的边缘。

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Winuser.h (包括 Windows.h)