菜单消息如何在多个对象之间传递处理

ghy_2010 2010-12-08 09:15:35
我用MFC做了一个SDI程序,想让一个菜单消息被多个对象响应,先让MainFrame对象响应,然后再让View对象响应,然后再让Document对象响应,各处理各的,这个能实现吗?

最好有例子哈!
...全文
66 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2010-12-29
  • 打赏
  • 举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖

相关规定详见界面界面版关于版主结帖工作的具体办法
janyming 2010-12-08
  • 打赏
  • 举报
回复
支持,就是先定义全局的消息,然后指向对应对象发消息
Eleven 2010-12-08
  • 打赏
  • 举报
回复
MFC中是view -> doc -> frame,如果你要修改它的顺序的话就要自己SendMessage/PostMessage来转发消息了
ghy_2010 2010-12-08
  • 打赏
  • 举报
回复
h还有一个问题就是我想让MainFrame先响应这个消息,然后再让View响应这个消息,但是如果为它们两个对象都添加了同一菜单项的消息响应函数,View对象先响应了,在View获取MainFrame对象指针又很麻烦,有没有好的办法来实现安装固定的顺序响应消息!
tubo_true 2010-12-08
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ghy_2010 的回复:]

引用 4 楼 kkmqj 的回复:

#define XXXXX ID
//
pFrame->sendmessage(...)
pView->sendmessage()
pDOc->sendmessage()


那View的消息响应函数中怎样读出SendMessage()发过来的lParam和wParam?
[/Quote]

强制转换得到
ghy_2010 2010-12-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 kkmqj 的回复:]

#define XXXXX ID
//
pFrame->sendmessage(...)
pView->sendmessage()
pDOc->sendmessage()
[/Quote]

那View的消息响应函数中怎样读出SendMessage()发过来的lParam和wParam?
kkmqj 2010-12-08
  • 打赏
  • 举报
回复
#define XXXXX ID
//
pFrame->sendmessage(...)
pView->sendmessage()
pDOc->sendmessage()
ghy_2010 2010-12-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yihandrensunyong 的回复:]

可以发消息 SENDMESSAGE() 让哪个对象响应 就给谁发消息 具体的处理在各个对象的消息响应函数里做
[/Quote]

MFC框架没有提供响应的处理机制吗?

MFC既然用固定的路线传递消息,就应该有这种机制啊!
mazm_yanzhu 2010-12-08
  • 打赏
  • 举报
回复
对啊,定义个消息,发消息,再或者就是相互调用函数
yihandrensunyong 2010-12-08
  • 打赏
  • 举报
回复
可以发消息 SENDMESSAGE() 让哪个对象响应 就给谁发消息 具体的处理在各个对象的消息响应函数里做
ghy_2010 2010-12-08
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 janyming 的回复:]

支持,就是先定义全局的消息,然后指向对应对象发消息
[/Quote]

啥叫全局消息?

15,978

社区成员

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

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