WEB开发网
开发学院软件开发VC MFC教程(5)-- MFC对象的创建(1) 阅读

MFC教程(5)-- MFC对象的创建(1)

 2010-03-25 20:33:46 来源:WEB开发网   
核心提示:文档模板的创建第一步是创建文档模板,文档模板的作用是动态创建其他MFC对象,MFC教程(5)-- MFC对象的创建(1)(9),它保存了要动态创建类的动态创建信息和该文档类型的资源ID,这些信息保存在文档模板的成员变量里:m_nIDResource(资源ID)、m_pDocClass(文档类动态创建信息)、m_pFra

文档模板的创建

第一步是创建文档模板。

文档模板的作用是动态创建其他MFC对象,它保存了要动态创建类的动态创建信息和该文档类型的资源ID。这些信息保存在文档模板的成员变量里:m_nIDResource(资源ID)、m_pDocClass(文档类动态创建信息)、m_pFrameClass(边框窗口类动态创建信息)、m_pViewClass(视类动态创建信息)。

资源ID包括菜单、像标、快捷键、字符串资源的ID,它们都使用同一个ID值,如IDR_MAINFRAME。其中,字符串资源描述了文档类型,由七个被“ ”分隔的子字符串组成,各个子串可以通过CDocTemplate的成员函数GetDocString(CString& rString, enum DocStringIndex index)来获取。DocStringIndex是CDocTemplate类定义的枚举变量以区分七个子串,描述如下(英文是枚举变量名称)。

WindowTitle 应用程序窗口的标题。仅仅对SDI程序指定。

DocName 用来构造缺省文档名的字符串。当用File菜单的菜单项new创建新文档时,缺省文档名由该字符串加一个数字构成。如果空,使用“unitled”。

FileNewName 文档类型的名称,在打开File New对话框时显示。

FilterName 匹配过滤字符串,在File Open对话框用来过滤要显示的文件。如果不指定,File Open对话框的文件类型(file style)不可访问。

FilterExt 该类型文档的扩展名。如果不指定,则不可访问对话框的文件类型(File Style)。

RegFileTypeId 文档类型在Windows 注册库中的存储标识。

RegFileTypeName 文档类型在Windows 注册库中的类型名称。

文档模板被应用程序对象创建和管理。应用程序类CWinApp有一个CDocManager类型的成员变量m_pDocManager,通过该变量来管理应用程序的文档模板列表,把一些相关的操作委派给CDocManager对象处理。

CDocManager使用CPtrList类型的m_templateList变量来存储文档模板,并提供了操作文档模板列表的系列函数。

从语句pDocTemplate = new CSingleDocTemplate(…)可以看出应用程序对象创建模板时传递一个资源ID和三个类的动态创建信息给它:

IDR_MAINFRAME,资源ID

RUNTIME_CLASS(CTDoc),文档类动态创建信息

RUNTIME_CLASS(CMainFrame),边框窗口类动态创建信息

RUNTIME_CLASS(CTView),视类动态创建信息

文档模板对象接收这些信息并把它们保存到对应的成员变量里头。然后AddDocTemplate实际调用m_pDocManager->AddDocTemplate,把创建的模板对象加入到文档模板管理器的模板列表中,也就是应用程序对象的文档模板列表中。

上一页  4 5 6 7 8 9 10 11 12  下一页

Tags:MFC 教程 MFC

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接