MFC启动过程

本文详细介绍了MFC程序的启动过程,包括全局应用程序类的创建、AfxWinMain函数的作用、应用程序类的InitInstance函数以及消息循环的运行。通过对比普通Win32 SDK程序,强调了MFC在窗口创建、消息映像等方面的便捷性,展示了MFC简化代码和提高效率的能力。
摘要由CSDN通过智能技术生成

1. 首先说一下MFC程序的启动过程. 

每个MFC程序都有一个全局的应用程序类的对象, 在面向对象程度非常好的MFC程序中, 应该只有这一个全局的对象. 

MFC应用程序启动时, 首先创建这个应用程序对象, 比如对象名为theApp, 这时将调用这个对象的构造函数来初始化theApp.然后由应用程序框架调用MFC提供的AfxWinMain主函数. 在这个主函数中, 首先获得应用程序对象theApp的指针, 然后通过这个指针调用程序程序对象的有关函数, 来完成程序的初始化和启动工作, 最后调用Run函数, 进入消息循环. 主要代码如下:

CTheApp theApp;

BOOL CTheApp::InitInstance()

{

         ....

         m_pMainWnd = new CTheWindow();//调用窗口类的构造函数来创建一个窗口

         m_pMainWnd->ShowWindow(SW_SHOW);//显示窗口

         m_pMainWnd->UpdateWindow();//更新窗口上的元素

         return TRUE;

}

//

int AFXAPI AfxWinMain()

{

         CWinThread *pThread = AfxGetThread();//获取主线程指针

         CWinApp *pApp = AfxGetApp();

         AfxWinInit();

         ....

         pApp->InitApplication();

         ...

         pThread->InitInstance();//初始化应用程序实例

        

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值