文档/视图结构中的各个部分是如何联系到一起的[2]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 coordinate 的 blog

        首先,在应用程序对象中有一个cdocmanager指针类型的共有数据成员m_pdocmanager,cdocmanager中维护一个cptrlist类型的链表:m_tempatelist,它是一个保护成员。initinstance函数中调用cwinapp::adddoctemplate函数,实际上是调用m_pdocmanageradddoctemplate函数向链表m_templatelist添加模板指针。cwinapp提供了getfirstdoctemplatepositiongetnextdoctemplate函数实现对m_templatelist链表的访问(实际上是调用了cdocmanager的相关函数)。

         在文件操作方面cwinapp提供的最常用的功能是文件的新建(onfilenew)和打开(onfileopen),它也是调用cdocmanager类的同名函数。对于新建,一般的时候在只有一个文档模板的时候,它新建一个空白的文件;如果有多个文档模板的时候,它会出现一个对话框提示选择文档类型。它的源代码如下:

void cdocmanager::onfilenew()

{

       if (m_templatelist.isempty())

       {

                                .......

              return;

       }

本文关键:文档/视图结构中的各个部分是如何联系到一起的
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top