首页 > 代码库 > 窗口样式
窗口样式
调整CreateWindow函数里窗口样式参数
效果一:无标题栏可改变大小
WS_POPUPWINDOW | WS_SIZEBOX
or
WS_POPUPWINDOW | WS_THICKFRAME
注:拦截WM_GETMINMAXINFO,禁止改变大小
lpMinMaxInfo->ptMinTrackSize.x = lpMinMaxInfo->ptMaxTrackSize.x = 300;
lpMinMaxInfo->ptMinTrackSize.y = lpMinMaxInfo->ptMaxTrackSize.y = 200;
lpMinMaxInfo->ptMinTrackSize.y = lpMinMaxInfo->ptMaxTrackSize.y = 200;
效果二:无标题栏无边框
WS_POPUPWINDOW or WS_POPUP
默认大小为0,0
注:也可以拦截WM_GETMINMAXINFO消息,使最大尺寸大于屏幕尺寸,从而实现全屏,但坐标系可能有偏差
WS_POPUP 与 WS_POPUPWINDOW的区别在于,前者无法在任务栏关闭窗口,而后者可以
效果三:全屏
WS_POPUPWINDOW | WS_MAXIMIZE
注:
需要用ShowWindow(hwnd, SW_SHOW);
效果四:无法改变大小
WS_SYSMENU | WS_MINIMIZEBOX
or
WS_BORDER (无法关闭)
效果五:子窗口
当申明为WS_CHILD时,以下事件肯定会发生
父窗口重绘时,子窗口也会可以到收到WM_PAINT的消息来重绘
而申明为一个WS_POPUP的子窗口就不会收到WM_PAINT消息。
父窗口的HDC和子窗口的HDC是重叠的,也就是,通过父窗口的HDC可以子窗口的区域里画图,并且可以画到非客户区。而申明为一个WS_POPUP窗口,父窗口的HDC和子窗口的HDC是互斥的。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。