MFC程序的theApp对象

MFC在创建应用程序时会自动生成一个CXXXApp类(如CTestApp),它是CWinApp的子类。theApp对象的主要作用是初始化应用程序,通过InitInstance函数创建和显示对话框。尽管在很多情况下我们可能不直接使用这个类,但它是MFC程序入口点的桥梁,封装了Win32程序的初始化操作,使得开发者能专注于窗口创建。通过对InitInstance的重写,可以实现自定义窗口的创建。
摘要由CSDN通过智能技术生成

    每次创建一个MFC应用程序,不管是Doc/View类型的,还是对话框类型的,都会发现MFC会自动为我们创建一个CXXXApp的类,其中XXX表示我们的工程名。其实很多时候,我们都不会用到这个类,也不会在其中添加属性和方法,而是创建我们自己的类。那么MFC为什么会生成这个类呢?下面我以简单的MFC对话框程序为例子,谈一下自己的理解。

    利用Visual Studio 2010创建一个MFC对话框应用项目Test,VisualStudio会为我们创建CTestApp、CTestDlg两个类。很好理解CTestDlg这个类,它就是我要创建的对话框的类,可以在资源管理器中查看并编辑对话框的属性,以及在CTestDlg中重写对话框的初始化函数、处理对话框消息等。但是CTestApp是干什么的呢?

    CTestApp中其实就定义了一个构造函数和一个InitInstance函数,构造函数也基本上没有做任何事情,所以InitInstance应该是最重要的。打开InitInstance函数,其中最重要的功能就是定义一个对话框CTestDlg的对象实例,然后显示这个对话框。无论是Win32程序还是Console程序,都会有一个入口函数(主函数),WinMain或是main,那么在生成的Test项目中,我们根本找不到主函数的踪影,那是不是MFC程序不需要入口函数呢?肯定不是。

    Win32程序的WinMain函数中,需要注册窗口类、创建窗口后,Windows窗口才能够显示出来。CTestApp继承自MFC的CWinApp类,CWinApp中定义了InitApplication、InitInstance两个方法,其中,InitApplication是针对每个应用程序执行一次的初始化函数,其中就包括注

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值