C++ 窗口可改风格

时间:2020-12-11 15:59:01

SetWindowLong(m_hWnd,GWL_STYLE,::GetWindowLong(m_hWnd,GWL_STYLE)& ~WS_MAXIMIZEBOX);//去掉最大化

GWL_STYLE指的是那些旧的窗口属性。相对于GWL_EXSTYLEGWL扩展属性而言的。

WS_BORDER

创建一个具有细线边框的窗口。
WS_CAPTION 
创建一个标题栏(包括WS_BORDER样式)的窗口。
WS_CHILD 
创建一个子窗口。具有此样式的窗口不能有菜单栏。此样式不能与WS_POPUP样式一起使用。
WS_CHILDWINDOW 
与WS_CHILD样式相同。
WS_CLIPCHILDREN 
排除在父窗口内进行绘图时子窗口占用的区域。创建父窗口时使用此样式。
WS_CLIPSIBLINGS 
剪辑儿童窗户相对于彼此; 也就是说,当特定子窗口收到WM_PAINT消息时,WS_CLIPSIBLINGS样式会将所有其他重叠子窗口剪切出要更新的子窗口区域。如果未指定WS_CLIPSIBLINGS并且子窗口重叠,则在子窗口的客户区内绘制时,可以在邻近子窗口的客户区中绘制。
WS_DISABLED 
创建一个初始禁用的窗口。禁用的窗口无法从用户接收输入。要在创建窗口后更改此选项,请使用EnableWindow。
WS_DLGFRAME 
创建一个具有通常与对话框一起使用的样式边框的窗口。具有此样式的窗口不能有标题栏。
WS_GROUP 
指定一组控件的第一个控件。该组由此第一个控件和之后定义的所有控件组成,直到使用WS_GROUP样式的下一个控件。每个组中的第一个控件通常具有WS_TABSTOP样式,以便用户可以从组移动到组。用户随后可以使用方向键将键盘焦点从组中的一个控件更改为组中的下一个控件。

您可以打开和关闭此样式更改对话框导航。要在创建窗口后更改此样式,请使用SetWindowLong。

WS_HSCROLL 
创建一个具有水平滚动条的窗口。
WS_ICONIC 
创建一个最初被最小化的窗口。与WS_MINIMIZE样式相同。
WS_MAXIMIZE 
创建最初最大化的窗口。
WS_MAXIMIZEBOX 
创建一个具有最大化按钮的窗口。无法与WS_EX_CONTEXTHELP样式组合。还必须指定WS_SYSMENU样式。
WS_MINIMIZE 
创建一个最初被最小化的窗口。与WS_ICONIC样式相同。
WS_MINIMIZEBOX 
创建一个具有最小化按钮的窗口。无法与WS_EX_CONTEXTHELP样式组合。还必须指定WS_SYSMENU样式。
WS_OVERLAPPED 
创建重叠的窗口。重叠的窗口具有标题栏和边框。与WS_TILED样式相同。
WS_OVERLAPPEDWINDOW 
使用WS_OVERLAPPED,WS_CAPTION,WS_SYSMENU,WS_THICKFRAME,WS_MINIMIZEBOX和WS_MAXIMIZEBOX样式创建重叠的窗口。与WS_TILEDWINDOW样式相同。
WS_POPUP 
创建一个弹出窗口。此样式不能与WS_CHILD样式一起使用。
WS_POPUPWINDOW 
创建一个包含WS_BORDER,WS_POPUP和WS_SYSMENU样式的弹出窗口。必须组合WS_CAPTION和WS_POPUPWINDOW样式才能使窗口菜单可见。
WS_SIZEBOX 
创建一个具有大小边框的窗口。与WS_THICKFRAME风格相同。
WS_SYSMENU 
在其标题栏上创建一个窗口菜单。还必须指定WS_CAPTION样式。

没试出来!!

WS_TABSTOP 
指定当用户按TAB键时可以接收键盘焦点的控件。按Tab键将键盘焦点更改为具有WS_TABSTOP样式的下一个控件。

您可以打开和关闭此样式更改对话框导航。要在创建窗口后更改此样式,请使用SetWindowLong

WS_THICKFRAME 
创建一个具有大小边框的窗口。与WS_SIZEBOX样式相同。
WS_TILED 
创建重叠的窗口。重叠的窗口具有标题栏和边框。与WS_OVERLAPPED样式相同。
WS_TILEDWINDOW 
使用WS_OVERLAPPED,WS_CAPTION,WS_SYSMENU,WS_THICKFRAME,WS_MINIMIZEBOX和WS_MAXIMIZEBOX样式创建重叠的窗口。与WS_OVERLAPPEDWINDOW样式相同。
WS_VISIBLE 
创建一个最初可见的窗口。

可以使用ShowWindow或SetWindowPos打开和关闭此样式。

WS_VSCROLL 
创建一个具有垂直滚动条的窗口。