调用工程中的theApp指针----AfxGetApp()

    技术2022-05-19  19

    我们在任何一个VC工程中都会看到一个类似于:

    //Test.cpp文件中

    CTestApp theApp;(工程名为Test)

    的语句。它是指向工程对象的一个指针,你可以用它方向Test工程的成员函数和变量。

    如果工程中添加了一个CConfig类,在CConfig中想调用Test工程中的成员函数和变量,则可以这样调用之:

    CTestApp *pApp=(CTestApp *)AfxGetApp( );

    如果在CTest类中我们声明如下一些变量:

    //Test.cpp文件

    class CTestApp : public CWinApp{public:

    CTestApp( );

    CString str; //添加的对话框变量

    ...

    }

    //Test.cpp文件

    CTestApp::CTestApp()

    {

    str="abc";

    }

    好了,现在我们就在CConfig类中调用str吧!

    //Config.cpp文件

    CTestApp *pApp=(CTestApp *)AfxGetApp( );

    AfxMessageBox(pApp->str);

    这样,就实现了对CTestApp类中变量的调用。


    最新回复(0)