mfc在主框架CmainFrame中相应对话框上面控件的事件
2011-12-15 19:06
344 查看
关于mfc的消息想要机制就不在这里照搬照抄了,因为那些东西在编程过程遇到急需要解决问题的人来说是很繁杂的。如有必要请绕道看其他的论述。
首先单文档SDI有个主框架Cmainframe,再建一个对话框类CMyDlg的对象myDlg,上面有个Cbutton按钮,添加相应函数MyBnClick(),此函数放Cmainframe中,运行程序点击按钮是不会得到响应的,因为对话框将主框架的消息给覆盖了;解决方法:
在对话框类里重载 virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo);
函数里将消息传给主框架
这样主框架就可以想要对话框上按钮的事件了
另外,如果将消息传递给mainframe的划分窗体中一个view的对话框,先获得该对话框的指针:
CCtrlDlg *pdlg=((COLHSRView*)(m_wndSplitter1.GetPane(0,1)))->m_pCtrlDlg;
首先单文档SDI有个主框架Cmainframe,再建一个对话框类CMyDlg的对象myDlg,上面有个Cbutton按钮,添加相应函数MyBnClick(),此函数放Cmainframe中,运行程序点击按钮是不会得到响应的,因为对话框将主框架的消息给覆盖了;解决方法:
在对话框类里重载 virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo);
函数里将消息传给主框架
OOL CCtrlDlg::OnCmdMsg( UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo ) { //MessageBox("here"); //GetParent()->OnCmdMsg(nID,nCode,pExtra,pHandlerInfo); if (AfxGetMainWnd()->OnCmdMsg(nID,nCode,pExtra,pHandlerInfo)) return TRUE; return TRUE; }
这样主框架就可以想要对话框上按钮的事件了
另外,如果将消息传递给mainframe的划分窗体中一个view的对话框,先获得该对话框的指针:
CCtrlDlg *pdlg=((COLHSRView*)(m_wndSplitter1.GetPane(0,1)))->m_pCtrlDlg;
相关文章推荐
- 【框架-MFC】MFC 在捕获控件外(窗口外)鼠标事件
- MFC实现背景透明,控件不透明的对话框,且点击图片有事件响应
- VS2010 C++ MFC框架学习笔记3 - 控件Tab顺序设置及模态对话框
- 如何安全删除基于对话框的MFC中控件的事件处理程序
- 用MFC在MainFrame框架下实现具有office2007的对话框。
- MFC 中static 控件不能相应点击事件的解决办法
- MFC/VS 2010中对话框控件初始显示模糊,鼠标移动到上面才显示的问题
- 在MFC中实现拖拽文件到对话框中的编辑控件中
- 改变MFC对话框背景色、控件内的字体颜色和背景色
- 【MFC入门】之五 标准控件在可视化编程中的应用之对话框通用控件
- VS2013/MFC编程入门之六(对话框:为对话框添加控件)
- MFC如何使控件大小随着对话框大小自动调整
- 在MFC中动态创建控件以及事件响应
- MFC界面控件随对话框大小改变问题求助
- Ioc注入框架 注入布局 注入控件 动态代理注入事件
- VS2010/MFC对话框二:为对话框添加控件)
- Android常用控件之按钮选择器/九妹图,按钮点击事件+页面跳转+Toast,单选框.时间日期控件 /时间日期对话框
- VS2013MFC对话框工程学习笔记十一 - 动态改变一个控件标题
- 《MFC&Qt混合编程》 part1 MFC对话框中嵌入Qt窗口控件
- MFC对话框控件数据提取之DoDataExchange()