我在一个Dialog里要用到另一个Dialog里的变量,要怎么办???

解决方案 »

  1.   

    公共变量;
    CXXXApp.h  CYourDialog *m_pdlg;在别的*.h地方定义:
    extern CXXXApp theApp;
    使用:
    theApp.m_pdlg->...........;
      

  2.   

    A要调用B,
    在B中设一个class A的指针,并指向A,然后调用。
      

  3.   

    dialoga调用dialogb
    在dialoga.h中定义dialogb* b;#include "dialogb.h"
      

  4.   

    要看你用的两个对话框是什么关系,如是父子关系,直接用GetParent()或GetDlgItem()就行了。
    如不是上述关系,就在一个对话框中定义另一个的一个对象。
      

  5.   

    #include "dialog1.h"
    CDialog1 dlg;
    dlg.变量;
      

  6.   

    访问一个对话框,通常使用两种途径:如果只需要向其发送消息,可以传递并记录对话框的窗口句柄,即this->m_hWnd;如果需要调用该对话框的自定义成员函数或变量,则必须使用该 对话框类的指针,即传递this,且定义指针变量时只能用具体类名(不能用CWnd或CDialog)。
      

  7.   

    通过上层调用。比如app层。就象上面说的那些那样。
      

  8.   

    请详细点说明,我是菜鸟啊!!
    例如我的工程名是pjxt;dialog为dialog1和dialog2要怎么做??
      

  9.   

    最简单但是最麻烦的办法就是先获得 app 的指针,然后获得 dialog的指针今天刚刚看了这个,我记得有一个函数,但是想不起来了,得看书,郁闷,看完了就忘!回去给你查查书就行了
      

  10.   

    //Try these code
    void Function()
    {
    //CTestDlg是你定义的对话框类
    CTestDlg * pDlg=(CTestDlg *)AfxGetApp()->GetMainWnd();
    //m_str是你定义的成员变量
    AfxMessageBox(pDlg->m_str);
    }
      

  11.   

    在一个工程里CWinApp类只有一个,可以在他里面记录你所有对话框的指针,或者你的两个Dialog会有一个共同的父窗口,你在父窗口里定义两个Dialog指针就可以了,再Dialog1利用GetParentWindow()->pDialog2就可以了