我有一个应用程序显示在主窗口顶部显示的CFrameWnd。当用户为窗口选择特定模式时,我需要该窗口不可移动且不可调整大小。
我的CFrameWnd与风格WS_OVERLAPPEDWINDOW | WS_THICKFRAME | WS_POPUP
如何防止CFrameWnd被鼠标移动
我所遇到使用CWndOnNcHitTest的超负荷的解决方案改写
HTLEFT,HTRIGHT,HTTOP,HTTOPLEFT,HTTOPRIGHT,HTBOTTOM,HTBOTTOMLEFT,HTBOTTOMRIGHT,HTSIZE,HTCAPTION
到HTBORDER
防止识别区负责大小/移动框架创建。
这种方法适用于我的情况调整大小,但移动窗口仍然是可能的,虽然hittest覆盖工作正常(痕迹验证)。
我的方法有什么问题吗?或者有什么可能会干扰这个解决方案,如果有的话,你有什么建议去看看?
谢谢!添加OnMoving的覆盖并将目标Rect设置为当前窗口的技巧。我之前找到的guid没有提到WM_MOVING消息。 – lowglider 2012-07-31 13:43:02