注册 登录
编程论坛 VC++/MFC

此种情况如何利用SendMessage发送消息?

喜鹊王子 发布于 2013-03-10 18:39, 639 次点击
图1为主界面,有两个按钮:点击BTN1进入图2的界面,点击BTN2进入图3的界面;
图2利用了Tab控件,有三个对话框,Tab1、Tab2、Tab3;
如何由图3的对话框向Tab1发送SendMessage消息?
只有本站会员才能查看附件,请 登录

我之前成功实现了子对话框向主对话框发送SendMessage消息,对于本文的情形,我试验了,没有效果,我的方法是这样的:
(1) 目标.h文件添加自定义消息;
(2) 目标.h文件添加消息映射;
(3) 目标.cpp文件添加ON_MESSAGE关联;
(4) 目标.cpp文件添加自定义消息的函数实现代码;
(5) 源.cpp文件添加SendMessage语句:
    CBTN1 * m_Host = (CBTN1*)AfxGetMainWnd();
    m_Host->m_tab1.SendMessage(**,**,**);
这样运行后,没有效果,前4步应该没什么问题,就是第5步不知道如何正确书写,还望大家指点指点。
4 回复
#2
yuccn2013-03-10 19:07
你能够拿到tab窗口的hWnd,就可以发送消息了的,如果是自定义的消息,就要做消息关联。。

(3) 目标.cpp文件添加ON_MESSAGE关联  ,你这个消息关联是给了那个窗口?估计不是tab的窗口吧
#3
喜鹊王子2013-03-10 19:12
回复 2楼 yuccn
是tab1的对话框,因为目标对话框就是tab1的对话框(注意:不是tab控件所在的对话框BTN1)。
#4
yuccn2013-03-10 19:17
把你的代码贴出来大家看看吧,这样不知道你怎么关联,不可能知道为什么
#5
水哥2013-03-12 21:20
别说是对话框3 就是跨进程也没问题,是你窗体句柄没传递进去
1