MFC单文档程序架构解析
MFC单文档程序架构解析 MFC单文档程序架构解析 这里我以科院杨老师的单文档程序来分析一下MFC单文档的程序架构,纯属个人见解,不当之处烦请指教! 首先我们了解到的是 图(一) theApp 是唯一一个在程序形成的时候就存在的全局变量,它属于CstockAppApp类,而CstockAppApp 继承于CwinApp类,我们看一下MSDN中CwinApp的继承关系如下: 图(二) 从继承关系当中,我们发现theApp是作为程序的实体而存在的,是单文档程序的核心。 首先分析一下的是CsockAppApp这个类,这里面有一个重要的函数 BOOL CStockAppApp::InitInstance()这个函数,包含了单文档程序中重要的信息,特别要提到的是一下的一段代码: CSingleDocTemplate* pDocTemplate; pDocTemplate = new CSingleDocTemplate( IDR_MAINFRAME, RUNTIME_CLASS(CStockAppDoc), RUNTIME_CLASS(CMainFrame), // main SDI frame windon RUNTIME_CLASS(CStockAppView)); 这里体现了几个重要的思想,第一动态创建和动态附加的一种思想,RUNTIME_CLASS是一个宏定义,这里不做展开