我有一个对话框程序,我在程序里面使用了一个全局函数int fun1()
{
    ......
}我想在fun1函数里面调用对话框类里面定义的变量,该怎么访问?

解决方案 »

  1.   

    方法一:把对话框对象的指针传递给全局函数
    方法二:声明一个全局的CDialog指针,把对话框对象的指针赋值给全局的指针
      

  2.   

    可以简单的从源头theApp(一个MFC程序必须有的全局变量)实例开始,找到对于你想引用的实例的引用
      

  3.   

    CTestDlg *dlg=(CTestDlg*)AfxGetApp()->GetMainWnd();
      

  4.   

    CTestDlg *dlg=(CTestDlg*)AfxGetApp()->GetMainWnd();
    这个样子真的行??
      

  5.   


    你的程序是基於對話框的嗎?如果是,那么這個對話框就是theApp下的成員,看App類的InitInstance中,有這個指針
    一般的是:
    (CtestDlg*)(AfxGetApp()->dlg)如果不是把程序的結構講講
      

  6.   

    定义一个全局变量
    CTestDlg *dlg;
    在CTestDlg类的构造函数或初始化函数中添加以下代码:
    dlg=this;就可以在
    int fun1()
    {
        ......
    }
    函数用dlg->.....来调用CTestDlg类的变量或函数了。
      

  7.   

    定义一个该对话框的全局指针
     CDlg *pDlg=NULL;//此句放在对话框的cpp文件的前边(include语句之下)
    在对话框的构造函数中
    pDlg=this;然后在全局函数中就可以直接使用了
    if(pDlg)
    {
      pDlg->....
    }
      

  8.   

    你定义的函数加个变量
    用的是传递一个对数
    传递一个指针给他
    www.xizi123.cn