模态对话框消息映射的问题

cjsnnnn 2009-08-18 05:06:59
我在模态对话框中添加的消息映射函数,为什么总是触发不了该函数

是不是::PostMessage(AfxGetMainWnd()->m_hWnd,CM_RECEIVE,0,(LPARAM)EV_RXCHAR);有错?

...全文
113 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
gdstcwl 2009-08-19
  • 打赏
  • 举报
回复
AfxGetMainWnd()->m_hWnd可能有问题,DoModal模态对话框前先将主窗口的句柄给过去

CChildDlg dlg;
dlg.praWnd = this->m_hWnd;//praWnd是CChildDlg类里面定义的一个句柄变量
dlg.DoModal();
luckzengwei 2009-08-19
  • 打赏
  • 举报
回复
你在模态对话框中如果是直接操作本对话框的话你干嘛还要消息映射啊,直接添加控件的功能函数就可以拉
貌似在不同对话框之间才采用消息映射
xylicon 2009-08-18
  • 打赏
  • 举报
回复
::PostMessage(m_hWnd,CM_RECEIVE,0,(LPARAM)EV_RXCHAR);

改成这样试试。

另外,lz最好贴一下你消息映射函数的代码。
  • 打赏
  • 举报
回复
用非模态吧
雪影 2009-08-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 cjsnnnn 的回复:]
消息映射的应该没什么问题,模态对话框是向本窗口发送消息
[/Quote]

模态对话框的函数向自己发送消息?
直接调用函数不就行了,还需要发送消息吗?
捕鲸叉 2009-08-18
  • 打赏
  • 举报
回复
你的对话框不是主窗口吧?
猞猁狲 2009-08-18
  • 打赏
  • 举报
回复
没太看明白,你在模态对话框里映射的CM_RECEIVE这个消息,为什么向主框架窗口发送消息???
fishion 2009-08-18
  • 打赏
  • 举报
回复
[Quote=引用楼主 cjsnnnn 的回复:]
我在模态对话框中添加的消息映射函数,为什么总是触发不了该函数

是不是::PostMessage(AfxGetMainWnd()->m_hWnd,CM_RECEIVE,0,(LPARAM)EV_RXCHAR);有错?


[/Quote]
就这样看是没错的,看看你的CM_RECEIVE消息是怎样的
MoXiaoRab 2009-08-18
  • 打赏
  • 举报
回复
CM_RECEIVE这个消息....
cjsnnnn 2009-08-18
  • 打赏
  • 举报
回复
消息映射的应该没什么问题,模态对话框是向本窗口发送消息
雪影 2009-08-18
  • 打赏
  • 举报
回复
你在模态对话框中向主窗口发送消息?
模态对话框内部有个循环,使得主窗口没有机会获取窗口消息。

如果想让主窗口响应的话,建议使用非模态对话框
chinezwq 2009-08-18
  • 打赏
  • 举报
回复
这个需要看你定义的消息正确么,窗口句柄是否返回正确,而且相应函数定义的类型是否正确
oyljerry 2009-08-18
  • 打赏
  • 举报
回复
先看你的AfxGetMainWnd()->m_hWnd是否获取正确的对话框窗口句柄,其次CM_RECEIVE的消息映射是否正确...

15,979

社区成员

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

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