搜索
bottom↓
回复: 4

MFC 对话框传送数据的问题

[复制链接]

出0入0汤圆

发表于 2014-2-20 09:50:44 | 显示全部楼层 |阅读模式
有个应用,是MFC 对话框程序.
有2个类,一个是普通类,设为class D{ }
一个是class ADlg:CDialog
{
   D dObj;
   ShowSth(){ drawText(); }
}

现在D的一个函数有一组数据要显示到dialog上,
应该怎么做?
dObj.showResult() {
  
    int result = xxxyyy;
    showResultInDialog(result);
}
类似这样的逻辑,怎么实现啊, 用UpdateData()方法吗

出0入0汤圆

 楼主| 发表于 2014-2-20 10:56:42 | 显示全部楼层
已经解决,不知道怎么删除

出1070入962汤圆

发表于 2014-2-20 11:04:52 | 显示全部楼层
楼主赶紧把怎么解决的贴上来。还在想着怎么删除帖子,你的ID危险了。

出0入0汤圆

发表于 2014-2-20 11:43:07 | 显示全部楼层
说说解决的方法。
哈哈

出0入0汤圆

 楼主| 发表于 2014-2-20 21:02:35 | 显示全部楼层
Appcat 发表于 2014-2-20 11:04
楼主赶紧把怎么解决的贴上来。还在想着怎么删除帖子,你的ID危险了。

也是搜到的:
2.1 利用构造函数传递指针变量
     在新添加的X.h文件中,添加构造函数
     CX(CMyProject2Dlg *pDlg);
     在相应的X.cpp文件中添加实现函数:
     CX::CX(CMyProject2Dlg *pDlg)
     {
         m_pDlg = pDlg;
     }
     此处m_pDlg是在X.h中定义的类成员变量:
     CMyProject2Dlg *m_pDlg;
     这样通过在CMyProject2Dlg中定义的CX的指针,就可以在X.cpp中实现访问CMyProject2Dlg中的构造函数,具体操作如下:
     在CMyProject2Dlg.h中添加
     CX *m_pX;
     在CMyProject2Dlg.cpp中添加
     m_pX = new CX(this);
     则实现了传递对话框指针给m_pDlg,这样就可以通过m_pDlg实现对CMyProject2Dlg中成员函数的访问了。

    2.2 直接在对话框类中实现访问
     采用直接在对话框创建时,在对话框显示之前初始化对话框的时候传递指针:
     BOOL CMyProject2Dlg::OnInnitDialog()
     {
           m_pX->m_pDlg = this;
     }
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-4 23:00

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

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