【发布时间】:2012-06-23 08:44:20
【问题描述】:
我通过以下方式创建了一个带有自定义镶边的窗口:
- 处理
WM_NCHITTEST并为窗口标题和边框返回适当的值, - 吞咽
WM_NCPAINT(和WM_NCUAHDRAWCAPTION、WM_NCUAHDRAWFRAME), - 通过暂时删除
WM_VISIBLE来处理WM_SETTEXT、WM_SETICON和WM_NCACTIVATE与DefWindowProc, - 处理
WM_WINDOWPOSCHANGED以应用圆角的窗口区域。
Windows 可以很好地处理移动/调整大小。我在窗口样式中添加了WS_THICKFRAME 以启用 Aero Snap 功能。但是现在当窗口最大化时,它位于(-5,-5),并且我的自定义标题栏被切断(如果没有WS_THICKFRAME,这不会发生)。
解决这个问题的正确方法是什么?是什么影响了那个位置?它似乎与 WM_NCHITTEST 返回的值无关。
【问题讨论】: