有时候要在不同Dialog中传递数据,上一篇用到了消息机制。后来又查了一下,发现还有其他的方法总结一下:
1,全局变量
习惯将全局变量在StdAfx.cpp中定义,然后在StdAfx.h中用extern声明
这样,只要某个文件中有 #include “StdAfx.h” 语句,他就可以用这个全局变量。如:
定义全局变量:
stdafx.h:
extern int g_nLanguage;
extern CString g_sInitStr ;
stdafx.cpp:
int g_nLanguage;
CString g_sInitStr = _T("InitInfo" );
几乎每个文件都有#include "stdafx.h".
2,利用项目的*APP
**用MFC生成的工程中都有一个名为CxxxApp的类,它派生于CWinApp类。这个类主要进行程序的初始化,生成文档、视图对象等工作。我们可以把需要全局访问的变量和函数定义为这个类的成员变量和成员函数,就可以实现全局访问了。
从严格意义上讲,这种变量和函数并不是全局的,因为它仍然只是类中的成员,只是由于我们很容易获得CxxxApp类的指针,所以我们可以在文档、视图、对话框以及各种自定义类中访问到它们,达到与全局变