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

来源:互联网 发布:知乐油烟机好不好用 编辑:程序博客网 时间:2024/06/15 14:57

我们在任何一个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类中变量的调用。