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

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

本文简介:选择自 coordinate 的 blog

       if (context.m_pnewviewclass == null)

              trace0("warning: creating frame with no default view.\n");

 

       if (!pframe->loadframe(m_nidresource,

                     ws_overlappedwindow | fws_addtotitle,   // default frame styles

                     null, &context))

       {

……

              return null;

       }

       return pframe;

}

总结:在模板里使用自己的数据结构维护着自己拥有的文档对象,并提供了getfirstdocpositiongetnextdoc函数实现对这些文档的对象的访问。所以,在一个拥有多个文档模板的应用程序中,即使每个模板使用了相同类型的文档类,每个新建或打开的文档在这些文档模板之间也不是共享的。

(三)文档与视图之间的联系

在视图类有一个保护数据成员:cdocument* m_pdocument;,这个文档指针指向视图对象所属的文档,视图里常用的函数getdocument()就是返回的这个指针;在文档类有一个保护数据成员:cdocument* m_viewlist;,它保存的是所有正在显示该文档的视图的指针,通过cdocument的成员函数getfirstviewpositiongetnextview函数可以实现对这些视图的访问。

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

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

go top