我做个一个基于对话框的MFC程序,在一个主对话框中加载了几个子对话框,子对话框是在资源中创建的,我想让几个子对话框之间通过父对话框作为中转来交换数据,新手学习中,请各位大虾帮忙了,非常感谢!!!!!最好有代码或工程文件

解决方案 »

  1.   

    这个用全局变量或者通过句柄访问别的对话框类的成员变量就行最简单的在MFC程序的 Cxxx.h 里 的 CxxxApp 类里添加个变量 var ,然后别的CxxxDlg里要用的话直接theApp.var就可以引用到变量了
      

  2.   

    但是要考虑子对话框和父对话框之间的耦合性,最好用符对话框做中转的,请各位大虾帮忙了,最好是有简单的demo。谢谢各位了!!!
      

  3.   

    如果想要用父窗口进行消息中转,只要把信息都存在父窗口,子窗口来取就可以了。
    方法一:在子窗口中做如下操作:
           1、CWnd *m_pParentDlg;
             m_pParentDlg = NULL;
             m_pParentDlg = GetParent();
             if(m_pParentDlg==NULL) return;
             CMyParentDlg* pParent = (CMyParentDlg*)m_pParentDlg;
             然后就可以用pParent来操作父窗口变量了
    方法二:在父窗口类中声明成员变量:static CMyParentDlg * pThis;
           初始化pThis = this;
           在子窗口引用父窗口变量时CMyParentDlg::pThis->...就可以了