MFC 非模态对话框消息映射问题

SandWen1985 2008-12-19 07:27:50
大家好啊,我在一个模态对话框中,嵌套了一个非模态对话框,然后分别为这两个对话框各创建一个类。在非模态对话框中,我添加了几个按钮,并添加了相应的事件处理程序,但无论我怎么点击按钮,非模态对话框中按钮的事件处理程序都是没有执行。在网上搜索,非模态对话框与它的父窗口共用一个消息循环,但我该怎么分发来自非模板窗口的消息呢,让事件处理程序得到响应!今天查了一下午的资料,都没有结果,累呀!!!
...全文
152 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tsair 2009-05-04
  • 打赏
  • 举报
回复
我也想学习。。。
SandWen1985 2008-12-19
  • 打赏
  • 举报
回复
自己调试出来了,我的代码大概是这样的:
//模态对话框
class CParameterDlg : public CDialog
{
//省略其它代码
CDialog* m_pDlg;
};

// 非模态对话框类
CParameterAdvanceDlg

原来CParameterDlg 中的m_pDlg成员使用了CDialog类,正确应该使用CParameterAdvanceDlg,而事件处理程序在CParameterAdvanceDlg中,不是在CDialog中,
由于多态使用不当,导致CDialog不会调用CParameterAdvanceDlg中的方法,所以CParameterAdvanceDlg中的事件处理程序无法进行!哈哈,依然感谢大家!
wangsen881213 2008-12-19
  • 打赏
  • 举报
回复
是不是要声明另外一个消息映射 ,指明你的非模式窗口中的消息处理函数啊
DECLARE_MESSAGE_MAP(CMyWnd,CFrameWnd)
//消息处理函数
//消息处理函数
END_MESSAGE_MAP()
bencharluo 2008-12-19
  • 打赏
  • 举报
回复
qq:546298089详谈啊

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧