搜索
bottom↓
回复: 15

对话框之间自定义消息的响应一直不行(里面有工程文件)

[复制链接]

出0入0汤圆

发表于 2011-6-19 20:44:39 | 显示全部楼层 |阅读模式
请教一个自定义的消息的传递问题,我在主对话框中的TAB control下,建立两个PAGE1和PAGE2两个对话框,我现在是能在单个对话框进行自定义消息的能够响应,从对话框2传到对话框1传递的自定义消息一直不行,请教一下大家,我写得sendmessage函数对吗?
void CPage2Dlg::OnButtonTset()
{

        CPage1Dlg m_page1;
        ::SendMessage((m_page1.GetDlgItem(IDD_PAGE1))->m_hWnd,WM_MyMessage,0,0);

}

这是我的工程文件:
点击此处下载 ourdev_650415G49VG0.rar(文件大小:1.92M) (原文件名:TabCtrlDemo.rar)

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2011-6-19 21:25:49 | 显示全部楼层
自己顶顶。。。

出0入0汤圆

发表于 2011-6-19 21:38:05 | 显示全部楼层
你的m_page1 是局部变量,这样是错误的。

出0入0汤圆

 楼主| 发表于 2011-6-19 22:12:01 | 显示全部楼层
请问楼上的朋友,能具体点吗?
CPage1Dlg m_page1;

void CPage2Dlg::OnButtonTset()  
{

::SendMessage((m_page1.GetDlgItem(IDD_PAGE1))->m_hWnd,WM_MyMessage,0,0);

} 改成上面这样还是出错。

出0入0汤圆

发表于 2011-6-19 22:20:44 | 显示全部楼层
先获取CPage1Dlg的指针。

::SendMessage((m_page1.GetDlgItem(IDD_PAGE1))->m_hWnd,WM_MyMessage,0,0);

出0入0汤圆

发表于 2011-6-19 22:25:01 | 显示全部楼层
网上搜搜看吧。需要在头文件和源文件的开始处定义那个消息的 messagemap 一共有两个地方需要添加。

出0入0汤圆

 楼主| 发表于 2011-6-20 08:47:55 | 显示全部楼层
继续等

出0入0汤圆

发表于 2011-6-20 08:59:24 | 显示全部楼层
还没有搞定?

出0入0汤圆

发表于 2011-6-20 09:00:22 | 显示全部楼层
回复【5楼】racede  吖
-----------------------------------------------------------------------

错了,不能再GetDlgItem(IDD_PAGE1) 这是获取控件的。

出0入0汤圆

 楼主| 发表于 2011-6-20 09:08:37 | 显示全部楼层
我上传的是简单的自定义消息响应测试代码,各位帮我看看。。。

出0入0汤圆

发表于 2011-6-20 10:48:13 | 显示全部楼层
回复【9楼】oldtom  
回复【5楼】racede  吖
-----------------------------------------------------------------------
错了,不能再getdlgitem(idd_page1) 这是获取控件的。

-----------------------------------------------------------------------

嗯~昨天没有仔细看。

改成

        CTabCtrlDemoDlg * m_page = (CTabCtrlDemoDlg*)AfxGetMainWnd();    //by racede
        m_page->m_page1.SendMessage(WM_MyMessage, NULL, NULL);           //by racede

项目在下面,转换成VS2008的项目了..

点击此处下载 ourdev_650459XKKA25.rar(文件大小:708K) (原文件名:12_TabCtrlDemo.rar)

出0入0汤圆

 楼主| 发表于 2011-6-20 14:15:30 | 显示全部楼层
我运行你这个程序的时候一切正常,
我运行我改了以后的程序,能够响应消息了,但是在关闭窗口的时候会出错,我不知道是什么原因。

我在源程序上修改后的程序
点击此处下载 ourdev_650510JSULN5.rar(文件大小:1.91M) (原文件名:TabCtrlDemo.rar)

出0入0汤圆

发表于 2011-6-20 14:32:43 | 显示全部楼层
回复【12楼】whh217  
我运行你这个程序的时候一切正常,
我运行我改了以后的程序,能够响应消息了,但是在关闭窗口的时候会出错,我不知道是什么原因。
我在源程序上修改后的程序
点击此处下载 ourdev_650510jsuln5.rar(文件大小:1.91m) (原文件名:tabctrldemo.rar)

-----------------------------------------------------------------------

我修改过的地方都带上注释了,对比一下就知道了……不过我没有留意关闭的时候有没有问题,我试了一下ok,就直接停止调试了。

出0入0汤圆

 楼主| 发表于 2011-6-20 15:22:01 | 显示全部楼层
我对比了,我把整个代码都复制过去了,在我原来的工程,关闭就是要出错,你改了的,就没问题。

出0入0汤圆

发表于 2011-6-20 18:24:22 | 显示全部楼层
回复【14楼】whh217  
我对比了,我把整个代码都复制过去了,在我原来的工程,关闭就是要出错,你改了的,就没问题。
-----------------------------------------------------------------------

那你肯定还有地方没有改好...
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-18 15:56

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表