目前大部分自绘都是无边框窗口打底,
这种模式有些缺点就是无法享受win10的窗口外调大小(不会描述)
还有就是win11的snap layout功能也无法触发,
此模块通过处理WM_NCCALCSIZE
WM_NCHITTEST
WM_NC*等消息实现自定义非客户区同时实现原生系统控制按钮,
并且可以享受普通窗口的窗口调节大小(无需额外编写鼠标调节窗口大小)
* 由于把原先系统自带的非客户绘制ban了,所以用户需要自行绘制控制按钮,
这里范例不自带,但是窗口右上角144*48区域就是3个控制按钮的位置,
点击的实际功能还是有的
非客户区位置可自定义:
参考文档:
WM_NCCALCSIZE消息 (Winuser.h) - Win32 apps | Microsoft Learn