概述
afx开头的函数都是windows应用程序框架函数 application frame xxxxx
CMainFrame //框架窗口
CtestView //子窗口
CTestDoc //数据文档
vc++下的MFC应用程序运行流程
首先是 初始化全局变量CtestApp theApp;//首先构造基类 再构造子类
然后 CtestApp::CtestApp(){}//构造函数
然后进入到 _tWinMain(HINSTANCE hInstance , HINSTANCE hPrevInstance, LPSTR lpCmdLine , int nCmdShow){}
再到 int AFXAPI AfxWinMain(...)里面的 获取子类的指针
if(!AfxWinMain(...))goto InitFailure;
if(pApp!=NULL&&!pApp->InitApplication())goto InitFailure;
使用指针if(!pThread->InitInstance())初始化
BOOL CTestApp::InitInstance(){}
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
BOOL AFXAPI AfxEndDeferRegisterClass(LONG fToRegister){}//注册窗口
BOOL CFrameWnd::Create(...)
BOOL CWnd::CreateEx(...)
消息循环
pThread-> run();
BOOL CWinThread::PumpMessage(){...}
MFC消息映射机制
和消息响应本质没有太大的区别
消息产生-与具体产生窗口相关-句柄-C++指针指向的对象-基类中调用WindowProc中的OnWndMsg-判断消息种类查找消息映射(通过头文件中的消息响应函数原型,源文件中的消息映射)
-找到消息响应函数-进行响应
最后
以上就是忐忑龙猫为你收集整理的MFC应用程序运行流程的全部内容,希望文章能够帮你解决MFC应用程序运行流程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复