在编写程序时有很多的窗口风格不知道是什么意思,我罗列一些:
WS_BODER 窗口具有细线边框
WS_CAPTION 窗口具有标题栏(包含 WS_BODER)
WS_CHILD 创建一个子窗口(此风格不能与 WS_POPUP 一起使用 )
WS_CHILDWINDOW 与 WS_CHILD 相同
WS_CLIPHILDREN 当在父窗口中画图时,绕开子窗口占有的区域。
WS_CLIPSBLINGS 裁剪相互关联的子窗口,使一个特殊 的子窗口收到 WS_PAINT 消息时,仅对自身窗口起作用。此式样仅适合具有 WS_CHILD 风格的窗口。
WS_DISABLED 创建一个开始时禁止的窗口
WS_DLGFRAME 创建一个具有某种式样的边框的窗口,该式样一般与对话框一起使用,具有该式样的窗口不能有一个标题栏。
WS_GROUP 指定一组控制中的第一个控制,具有该式样控制的下一个控制终止当前控制组,并且开始下一个控制组。
WS_HSCROLL 窗口具有水平滚动条
WS_VSCROOL 窗口具有垂直滚动条
WS_MAXIMIZE 窗口初始时最大化
WS_MINIMIZE 窗口初始时最小化
WS_MINIMIZEBOX 窗口具有最小化按钮
WS_MAXIMIZEBOX 窗口具有最大化按钮
WS_ICONIC 与WS_MINMIZE相似
WS_OVERLAPPED 重叠 式窗口,该式样窗口 带有一个标题栏和边框
WS_OVERLAPPEDWINDOW 具有WS_OVERLAPPED,WS_CAPTION,WS_SYSMENU,WS_THICKFRAM,
WS_MINIMIZEBOX,WS_MAXIMIZEBOX 式样的重叠式窗口
WS_POPUP 弹出式窗口,不能与 WS_CHILD 一起使用
WS_POPUPWINDOW 具有 WS_BODER,WS_POPUP,WS_SYSMENU 式样的弹出式窗口。为了使 SYSTEM 菜单(也叫 CONTROL 菜单可见),必须将 WS_CAPTION与 WS_POPUPWINDOW 式样组合使用。
WS_SYSMENU 具有 SYSTEM 菜单栏,还必须指定 WS_CAPTION 式样
WS_THICKFRAME 具有可调边框
WS_VISIBLE 窗口初始时可见
常有几个窗口扩展风格:
WS_EX_ACCEPTFILES 窗口可接收拖放文件
WS_EX_TOPMOST 窗口放在所有非顶层窗口之上,即使窗口 不工作
下面是修改窗口风格的例子
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )}
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.dwExStyle=cs.dwExStyle|WS_EX_TOPMOST;
cs.style=WS_SYSMENU|WS_OVERLAPPED|WS_MINIMIZEBOX;
//设置窗口大小:400*340
cs.cx=400;
cs.cy=340;
return TRUE;
设置了以后窗口始终在最前面并且窗口的大小不改变
如果以后想修改窗口风格,可以使用SetWindowLong()来修改。