mfc中如何在一个对话框中调用另外一个对话框的函数

来源:百度知道 编辑:UC知道 时间:2024/06/09 10:12:42
我在主对话框中定义了一些函数,可以在主对话框下调用,现在新增了一个模态对话框。我想在这个新的对话框里面调用主对话框的一些函数,还有想取得在主对话框定义的一些变量的数值。请问该如何操作,先谢谢大家了

你可以把主对话框类的指针传给新对话框.
通过这个指针调用主对话框的东西.
假设主对话框为CMainDlg,新对话框为CChildDlg;
// CChildDlg 调用主对话框的doOther函数;
// 当然非模态对话框等其他任何对话框也可以这样做.
class CMainDlg
{
void do()
{
CChildDlg dlg;
dlg.m_pMain = this;
dlg.DoModal();
}
void doOther(){}
};
class CChildDlg
{

CMainDlg m_pMain;
void do()
{
if(m_pMain!=NULL)
m_pMain->doOther();
}
CChildDlg():m_pMain(NULL){}
};

你可以把主对话框类的指针传给新对话框.
通过这个指针调用主对话框的东西.
假设主对话框为CMainDlg,新对话框为CChildDlg;
// CChildDlg 调用主对话框的doOther函数;
// 当然非模态对话框等其他任何对话框也可以这样做.
class CMainDlg
{
void do()
{
CChildDlg dlg;
dlg.m_pMain = this;
dlg.DoModal();
}
void doOther(){}
};
class CChildDlg
{

CMainDlg m_pMain;
void do()
{
if(m_pMain!=NULL)
m_pMain->doOther();
}
CChildDlg():m_pMain(NULL){}
};