如何解决如何在 CMainFrame 中处理鼠标点击
如何检测“空”CMainFrame 鼠标点击?空的意思是一个还没有任何文档/视图的 MDI。
我尝试使用以下方法检测鼠标点击:
afx_msg void OnLButtonDown(UINT nFlags,CPoint point);
BOOL CMainFrame::PreTranslateMessage(MSG* pMsg);
解决方法
MDI 主框架窗口有一个“不可见”的客户端 窗口,它占据了主框架的客户区。使用“普通”类覆盖技术无法访问此窗口,但是,如果该主框架窗口派生自 CMDIFrameWnd
或 CMDIFrameWndEx
,您可以使用其 m_hWndMDIClient
成员({{1} } 那个不可见的窗口)来子类化它,通过覆盖它的 HWND
。
我使用 WindowProc
成员变量(在构造时设置为 UpdateWindow
)在主框架的 bool
过程的覆盖中执行此操作(实际上是为了在该客户区中绘制)跟踪子类化是否已经完成。
这是一个可能的解决方案(改编自我自己的代码),它可能适用于拦截鼠标点击。 (我对其进行了测试,确实得到了 false
鼠标点击诊断!)
Beep()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。