MFC应用程序中的the App

MFC应用程序中,无论是基于单文档还是对话框的应用程序,在应用程序类中,都有 theApp这个变量,
eg:CADOApp theApp;
theApp代表应用程序实例~~
如果我们在应用程序类再定义了一个变量,例如 _ConnectionPtr m_pConnection;
当我们在其他类,比如Dlg类中,想用到m_pConnection这个变量时,可以借助theApp来调用,
例如,在OnInitDialog函数中,有
m_pRecordset->Open("SELECT * FROM tt",
theApp.m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic, 
adCmdText); 
这句话~~
就是通过theApp来调用~~

注意:一般在C×××App类中 ,有 theApp 这个变量,
在MFC程序其他类中,可以用 theApp 来调用C×××App类中所有的方法和公有成员变量,
比如,如果想在B类中调用C×××App类VerifyPower()函数,只需在B类的头文件类的定义外,加上
extern C×××App theApp; 这句话~~
如果在C类中也想调用,则也要在C类的头文件中,加上extern C×××App theApp;
extern是外部的意思 用来调用其他文件中定义过的变量 ,当然,如果在一个文件中如果包括了头文件,也可以省去这一步
这样做的好处是,在某一个类中定义的函数或变量,在其他类中都可以使用,并且不用对原来那个类进行实例化,方便快捷。

*********************************************************************************************************************************
下面是对theApp的用法的总结:
1.theApp是你工程的头,你可以通过AfxGetApp()获得整个进程的指针,然后通过它,可以获得该进程的HWND以及HINSTANCE,和菜单。。。等等。不一而足。可以通过msdn获得更多的信息

2.theApp是个全局变量,几乎可以在程序的任何地方引用。如果你建立一个MDI或者SDI工程,那么,你可以看到一个类以*App结尾,这个theApp就是它的一个实例,在这个类中添加的public变量可以通过theApp引用。当然,由于WinApp是它的基类,theApp保存有许多有关程序运行期间的很多信息,如执行程序名,路径什么的。

3.加个成员及方法,可以随时用AfxGetApp访问

4.theApp是CWinApp类的派生类的对象,是一个全局变量。全局变量在WinMain()前被创建。

5.theApp就是应用程序的实例,没有它你就什么都不能做,因为它初始了进程!
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值