MFC 框架分析

1、调用CWinApp构造函数生成 theApp对象 CMyApp theApp;

2、 Main函数过程:

a、一段启动代码 后, _tWinMain 调用 AfxWinMain函数。 在AfxWinMain中主要过程:

AfxWinInit(hInstance, hPrevInstance, lpCmdLine, nCmdShow)

pApp->InitApplication()  //应用程序全局初始化 很少使用 可重写

pThread->InitInstance()  //可重写 比较重要 必须改写

pThread->Run() //可重写 一般不改写

AfxWinTerm();

上面四个函数中主要是InitInstance 在这里SDI主要是建立文档、视图和框架的关系和new一个模板对象并添加到CDocManager成员变量m_templateList中以及通过ProcessShellCommand函数生成一个框架 文档 和视图 并显示框架 最后利用m_pMainWnd对象重新显示窗口。MDI对象有些不一样就是先生成了一个MainFrame然后同样调用ProcessShellCommand函数生成子窗口。SDI和MDI在ProcessCommandShell函数过程中分别调用单文档模板和多文档模板的OpenNewFile函数时存在些许不同,这里主要是多文档不会判断是否已经有pDocment和pFrame而是都会创建相应的框架和文档。

你可能感兴趣的:(框架,文档,mfc)