调整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是互斥的。