Windows窗口样式列表

在创建windows窗口时,我们常需要指定创建窗口的类型。下表是windows中定义的窗口样式表。

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);
常量/值描述
WS_BORDER
0x00800000L
此窗口具有细线边框。
WS_CAPTION
0x00C00000L
窗口的标题栏 (包含 WS_BORDER 样式) 。
WS_CHILD
0x40000000L
窗口是一个子窗口。 具有此样式的窗口不能有菜单栏。 此样式不能与 WS_POPUP 样式一起使用。
WS_CHILDWINDOW
0x40000000L
与 WS_CHILD 样式相同。
WS_CLIPCHILDREN
0x02000000L
当在父窗口中进行绘制时,排除子窗口占用的区域。 此样式在创建父窗口时使用。
WS_CLIPSIBLINGS
0x04000000L
相对于彼此的位置剪辑子窗口;也就是说,当某个特定的子窗口收到一个 WM_PAINT 消息时, WS_CLIPSIBLINGS 样式会将子窗口中的所有其他重叠子窗口从子窗口的所有其他子窗口中剪切掉。 如果未指定 WS_CLIPSIBLINGS 并且子窗口重叠,则在子窗口的工作区中进行绘制时,可以在相邻子窗口的工作区中进行绘制。
WS_DISABLED
0x08000000L
窗口最初处于禁用状态。 禁用的窗口无法接收来自用户的输入。 若要在创建窗口后对此进行更改,请使用 EnableWindow 函数。
WS_DLGFRAME
0x00400000L
窗口的边框通常与对话框一起使用。 具有此样式的窗口不能有标题栏。
WS_GROUP
0x00020000L
窗口是一组控件的第一个控件。 组包括此第一个控件和在其后定义的所有控件,直到下一个具有 WS_GROUP  样式的控件。 每个组中的第一个控件通常具有 WS_TABSTOP 样式,这样用户就可以从 "组" 移动到 "组"。 然后,用户可以使用方向键将键盘焦点从组中的一个控件更改为组中的下一个控件。可以打开和关闭此样式来更改对话框导航。 若要在创建窗口后更改此样式,请使用 SetWindowLong 函数。
WS_HSCROLL
0x00100000L
窗口具有水平滚动条。
WS_ICONIC
0x20000000L
窗口最初最小化。 与 "WS_MINIMIZE " 样式相同。
WS_MAXIMIZE
0x01000000L
窗口最初处于最大化状态。
WS_MAXIMIZEBOX
0x00010000L
窗口有最大化按钮。 不能与 WS_EX_CONTEXTHELP 样式组合。 还必须指定 WS_SYSMENU 样式。
WS_MINIMIZE
0x20000000L
窗口最初最小化。 WS_ICONIC  样式相同。
WS_MINIMIZEBOX
0x00020000L
该窗口包含 "最小化" 按钮。 不能与 WS_EX_CONTEXTHELP 样式组合。 还必须指定 WS_SYSMENU 样式。
WS_OVERLAPPED
0x00000000L
窗口是重叠窗口。 重叠窗口具有标题栏和边框。 与 " WS_TILED  " 样式相同。
WS_OVERLAPPEDWINDOW
(WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
窗口是重叠窗口。 与 WS_TILEDWINDOW 样式相同。
WS_POPUP
0x80000000L
窗口是一个弹出窗口。 此样式不能与 WS_CHILD  样式一起使用。
WS_POPUPWINDOW
(WS_POPUP | WS_BORDER | WS_SYSMENU)
窗口是一个弹出窗口。 必须结合 WS_CAPTION  和 ws_POPUPWINDOW 样式,使窗口菜单可见。
WS_SIZEBOX
0x00040000L
窗口的大小调整边框。 与 WS_THICKFRAME 样式相同。
WS_SYSMENU
0x00080000L
窗口的标题栏上有一个窗口菜单。 还必须指定 WS_CAPTION  样式。
WS_TABSTOP
0x00010000L
窗口是一个控件,当用户按 TAB 键时,该控件可以接收键盘焦点。 按 TAB 键会将键盘焦点更改为带有 WS_TABSTOP 样式的下一个控件。可以打开和关闭此样式来更改对话框导航。 若要在创建窗口后更改此样式,请使用 SetWindowLong 函数。 对于用户创建的窗口和无模式对话框,若要使用制表位,请更改消息循环以调用 IsDialogMessage 函数。
WS_THICKFRAME
0x00040000L
窗口的大小调整边框。 与 WS_SIZEBOX 样式相同。
WS_TILED
0x00000000L
窗口是重叠窗口。 重叠窗口具有标题栏和边框。 与 WS_OVERLAPPEDWINDOW 样式相同。
WS_TILEDWINDOW
(WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
窗口是重叠窗口。 与 WS_OVERLAPPEDWINDOW 样式相同。
WS_VISIBLE
0x10000000L
窗口最初可见。 可以通过使用 ShowWindow 或 SetWindowPos 函数来打开和关闭此样式。
WS_VSCROLL
0x00200000L
窗口具有垂直滚动条。
日期:2020-04-11 22:50:11 来源:oir作者:oir