视图及视图类
一般视图类的使用
CFormView 类
CFormView 类是一个非常有用的视图类,它具有许多无模式对话框的特点。像 CDiolog 的派生类一样, CFormView 的派生类也和相应的对话框资源相联系,它也支持对话框数据交换和对话框数据确认(DDX 和 DDV) 。
CFormView 是所有表单视 ( 如 CRecordView 、 CDaoRecordView 、 CHtmlView 等 ) 的基 类;一个基于表单的应用程序能让用户在程序中创建和使用一个或多个表单。
创建表单应用程序的基本方法除了在创建 SDI/MDI 的第六步中选择 CFormView 作为 应用程序视图类的基类外。还可通过相关菜单命令来自动插入一个表单,其步骤如下:
Ⅰ、切换到 ClassView 标签项,在项目名称上右击鼠标按钮。从弹出的快捷菜单中选 择“New Form”命令,或者直接在主菜单中选择“Insert”→“New Form...” 菜单命令,弹出如下图所示的“New Form”对话框:
Ⅱ、在“New Form”对话框中,键入表单名称。如果想要表单支持“自动化”特性,则选择“ Automation”单选框。在“Document Template Information”栏中,指定和表单并联的文档内容。如果想要更改文件扩展名或文档模板字串资源,则可按击 [Change] 按钮。
Ⅲ、单击 [OK] 按钮,这样,一个表单视图派生类的程序框架就被添加到用户程序中;此时,我们就可用对话框编辑器为表单增加一些控件。
CEditView 类
CEditView 类对象是一种视图,提供窗口编辑控制功能,可以执行简单文本操作。由 于 CEditView 类自动封装上述功能的映射函数,因此只要在文档模板中使用 CEditView 类,那么应用程序的“编辑”菜单和“文件” 菜单里的菜单项都可自动激活。但 CEditView 仍然摆脱不了所有编辑控件的限制,如:
CEditView 不具有所见即所得编辑功能。
CEditView 只能将文本作单一字体的显示,不支持特殊格式的字符。
CEditView 可容纳的文本总数有限,在 32 位 Windows 中最多不超过 1M 字节。
CRichEditView 类
CRichEditView 类使用了复文本编辑控件,因此它支持混合字体格式和更大数据量的文本。CRichEditView 类被设计成与 CRichEditDoc 和 CRichEditCntrItem 类一起使用,它们可实现一个完整的ActiveX 包容器应用程序。
CHtmlView 类
CHtmlView 类是在文档视图结构中提供 WebBrowser 控件的功能。 WebBrowser 控件可以浏览网址,也可以作为本地文件和网络文件系统的窗口,它支持超级链接、统 一资源定位(URL)导航器并维护历史列表等。
CScrollView 类
CScrollView 类不仅能直接支持视图的滚动操作,而且还能管理视口的大小和映射模式,并能响应滚动条消息、键盘消息以及鼠标滚轮消息。滚动视图第一次被创建时,往往在重载的 CView::OnInitialUpdate 或 CView::OnUpdate 中调用 CScrollView成员函数 SetScrollSizes来设置相关参数,如映 射模式、滚动逻辑窗口的大小、水平或垂直方向的滚动量等。如果仅需要视图具有自动缩放功能(而不具有滚动特性) ,则用 CScrollView::SetScaleToFitSize 函数代替 SetScrollSizes 即可。