VS2013/MFC 程序执行流程
创建好(hǎo)一个 MFC 项(xiàng)目以(yǐ)后,如果是第一次创建,或者虽然创(chuàng)建了很多项(xiàng)目,却并没有(yǒu)认真分(fèn)析自动生成的程序代码,那么(me)就(jiù)很有(yǒu)必要知道(dào)项目的程序框架(jià)如(rú)何(hé),项目是从哪开始执行,到哪终止程序,如何响应消息(xī),如何刷新界(jiè)面等等问(wèn)题(tí)。
工具/原(yuán)料
· visual studio 2013
MFC 执行流程(chéng)
1. 每创建一个(gè)项(xiàng)目,一般会(huì)包含(hán) 3 个类(lèi),“关于”对话框类、主(zhǔ)对话(huà)框类以及用于初始化项目的(de) App 类,假如项目(mù)名称为 Demo,那么这三个类分别(bié)为 CAboutDlg、CDemoDlg、CDemoApp。
2. 项目生成后,都会生成一个属于 CDemoApp 类(lèi)的 theApp 对象,对本应用程序实例化,这个在 CDemoApp.cpp 文件中定义,创建时调(diào)用构造函数(shù) CDemoApp::CDemoApp();这就是(shì)程(chéng)序创建的第(dì)一步。
3. 接下(xià)来程序(xù)会调用 winmain 函数,这个在(zài)项(xiàng)目文(wén)件中找不到(dào),但可以在 VS2013 的安装路径下找到,其函数声明为:int AFXAPI AfxWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,_In_LPTSTR lpCmdLine, int nCmdShow);
4. 调用(yòng)完 winmain 后,就通过 InitInstance()函数初始化(huà)窗口,包括注册、创建和显示对话框,InitInstance 函数(shù)是 CDemoApp 类中除构造(zào)函数以(yǐ)外唯一的成员函数。
一般(bān)不需要修改这部分程序,但有些时候可以(yǐ)添加部分(fèn)代码(mǎ),比如需(xū)要创建多(duō)个对话框时,刚启动时弹出的对话框(比如用于登录)不是主对话框,就可(kě)以在这个函数里创(chuàng)建主(zhǔ)对话框之前调用登录对(duì)话框,这(zhè)样就可(kě)以(yǐ)设置启动时的默认对话框了。

上一(yī)篇:VS2013 开(kāi)发环境使编程更加方便快捷
下(xià)一(yī)篇:我公司为甄宝团公司做(zuò)全案策划以(yǐ)及影视片(piàn)拍摄