Visual C++.NET编程讲座之七2007-05-15 天极 Adding摘要本讲先来介绍MFC中的"一档多视"模式,并为Viewer添加一个用于显示Web页的视图CWebView,然后讨论两种比较常用的单文档视图的切换方法,最后对这两种方法进行分析和比较。MFC"一档多视"模式我们知道,MFC应用程序用一种编程模式使程序中数据与它的显示形式和用户交互分离开来,这种模式就是"文档/视图结构"。在单文档应用程序结构中,一个文档对应于一个视图。但有时一个文档可能需要多个视图以改变文档数据的显示方式,称为"一档多视",MFC对于这种"一档多视"提供下列三个模式:第一种模式是用在多文档应用程序中,用同一个视图类创建多个视图对象,并在各自的窗口中显示。例如,当我们选择"窗口"菜单的"新建窗口"命令,程序就会打开一个新的窗口显示出相同的文档内容。在界面上表现为,一个框架窗口中有多个文档窗口,如图1(a)所示。第二种模式是动态切分窗口方式,即在同一个文档窗口中创建多个视图,用同一方式来显示相同的文档内容。如图1(b)所示。第三种模式是静态切分窗口方式,即在同一个文档窗口中创建多个视图,但每个视图可用不同的方式来显示文档内容。如图1(c)所示。

(a)

(b)

(c)图1 "一档多视"的三种模式但在本讲中所讨论的"一档多视"是指在单文档应用程序中具体多个视图的特性。文档窗口每次只有一个视图显示,但可以通过菜单等命令在多个视图中进行切换。我们的目是将文档内容在"普通文本"和"HTML浏览"视图之间进行切换,如图2(a)和2(b)所示。

(a)

(b)图2 视图切换的结果