MFC对话框不响应标题栏双击
2015-09-17 13:35
232 查看
使MFC对话框不响应标题栏双击
方法一:
重载PreTranslateMessage:
方法二:
重载OnNcLButtonDblClk、OnNcLButtonDown、OnNcRButtonDown
借鉴:http://www.cppblog.com/wbscut/archive/2007/06/3/25477.html
方法一:
重载PreTranslateMessage:
/*.h文件*/ virtual BOOL PreTranslateMessage(MSG* pMsg); /*.cpp文件*/ BOOL CMainFrame::PreTranslateMessage(MSG* pMsg) { //不响应标题栏双击 if(pMsg->message == WM_NCLBUTTONDBLCLK) // 非client区域的双击消息 if(pMsg->wParam == HTCAPTION) // 光标所在区域为标题栏 return TRUE; return CFrameWnd::PreTranslateMessage(pMsg); }
方法二:
重载OnNcLButtonDblClk、OnNcLButtonDown、OnNcRButtonDown
/*.h文件*/ afx_msg void OnNcLButtonDblClk( UINT nHitTest, CPoint point ); afx_msg void OnNcLButtonDown(UINT nHitTest, CPoint point); afx_msg void OnNcRButtonDown(UINT nHitTest, CPoint point); /*.cpp文件*/ BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) //{{AFX_MSG_MAP(CMainFrame) ON_WM_NCLBUTTONDBLCLK() ON_WM_NCLBUTTONDOWN() ON_WM_NCRBUTTONDOWN() END_MESSAGE_MAP() /* /* -----功能:使MFC对话框不响应标题栏双击 -----注意:在CWnd::OnNcLButtonDblClk(nHitTest, point)使用时,不 能用CMainFrame::OnNcLButtonDblClk(nHitTest, point), 不然菜单就无法使用了。 */ void CMainFrame::OnNcLButtonDblClk( UINT nHitTest, CPoint point ) { if(nHitTest == HTCAPTION && g_bTK) // 为标题栏的双击 return; CWnd::OnNcLButtonDblClk(nHitTest, point); } /* -----功能:使标题栏的窗体不能被鼠标拖动,固定在当前屏幕中的位置: -----注意:在CWnd::OnNcLButtonDown(nHitTest, point)使用时,不 能用CMainFrame::OnNcLButtonDown(nHitTest, point), 不然菜单就无法使用了。 */ void CMainFrame::OnNcLButtonDown(UINT nHitTest, CPoint point) { if(nHitTest==HTCAPTION && g_bTK) return; CWnd::OnNcLButtonDown(nHitTest, point); } /* -----功能:屏蔽在标题栏点击鼠标右键事件。 -----注意:在CWnd::OnNcRButtonDown(nHitTest, point);使用时,不 能用CMainFrame::OnNcRButtonDown(nHitTest, point), 不然菜单就无法使用了。 */ void CMainFrame::OnNcRButtonDown(UINT nHitTest, CPoint point) { if(nHitTest==HTCAPTION && g_bTK) return; CWnd::OnNcRButtonDown(nHitTest, point); }
借鉴:http://www.cppblog.com/wbscut/archive/2007/06/3/25477.html
相关文章推荐
- 黑马程序员——IO流(字符流)
- 设置IIS会话过期时间
- Caffe——清晰高效的深度学习(Deep Learning)框架
- 马良建模学习笔记——软包制作一
- ARC下__bridge,__bridge_retained和__bridge_transfer的意思,区别与使用
- Codeforces Round #320 (Div. 2) [Bayan Thanks-Round] -- D. "Or" Game
- Search and replace string
- AIX加入能telnet远程连接方法的帐户
- Linux中wait用法注意
- java基础回顾与进阶
- leetcode/Next Permutation
- 我的openwrt学习笔记(十三):MT7688 串口测试
- OpenLayers学习--加载ArcGIS缓存
- Javascript 数组循环遍历之forEach
- redhat下升级gcc编译器
- SSH中使用getCurrentSession()获得session
- iOS9搜索新功能将狙击谷歌的搜索业务
- 【中国剩余定理-M不互质的情况】HDU Hello Kiki 2579
- 【Android】轮询的若干问题 Timer, TimerTask;Timer 的缺陷,ScheduledThreadPoolExecutor
- 创建兼容的DC