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

上一篇(piān):VS2013 开发环境使编程(chéng)更(gèng)加方便快捷