MFC 对话框传送数据的问题
有个应用,是MFC 对话框程序.有2个类,一个是普通类,设为class D{ }
一个是class ADlg:CDialog
{
D dObj;
ShowSth(){ drawText(); }
}
现在D的一个函数有一组数据要显示到dialog上,
应该怎么做?
dObj.showResult() {
int result = xxxyyy;
showResultInDialog(result);
}
类似这样的逻辑,怎么实现啊, 用UpdateData()方法吗 已经解决,不知道怎么删除 楼主赶紧把怎么解决的贴上来。还在想着怎么删除帖子,你的ID危险了。 说说解决的方法。
哈哈 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;
}
页:
[1]