若主对话框是CParentDlg,子对话框是CChildDlg:
第一步:在子对话框的头文件的类定义中添加:
CDialog *m_pMianDlg;
第二步:在子话框类的定义文件中添加设置函数,并实现:
void set_parent_dlg(CDialog * parnet_dlg);
实现:
void CWarnPage::set_parent_dlg(CDialog * parnet_dlg)
{
m_pMianDlg =parnet_dlg;
}
第三步:在主对话框创建子对话框时通过set_parent_dlg函数设置主对话框指针.
m_warn_page.Create(IDD_DLG_WARN,&m_tab_mode);
m_warn_page.set_parent_dlg(this);
第四步:在子对话框通过类型强制转转来取主对话框中的信息:
Ctbox_CarSimulatorDlg *parent_dlg =(Ctbox_CarSimulatorDlg *)m_pMianDlg;
if(!parent_dlg->m_connect){
//...
}
本博客详细介绍了在Windows应用程序中,如何在主对话框(CParentDlg)和子对话框(CChildDlg)之间进行通信。通过在子对话框的头文件中定义一个指向主对话框的指针,实现主对话框与子对话框之间的信息传递。具体步骤包括设置函数、创建子对话框时设置主对话框指针,以及通过类型强制转换获取主对话框信息。

被折叠的 条评论
为什么被折叠?



