字体
第(1/4)页
关灯
   存书签 书架管理 返回目录
    OnHScroll 和OnVScroll 成员函数中处理滚动条消息。可以通过自定义代码完成

    全部工作,在这些函数中实现滚动条消息处理;或者可以利用CScrollView 类处理滚动。

    CScrollView 在默认情况下执行下列cāo作:

    ? 管理窗口和视图区大小以及映shè模式;

    ? 响应滚动条消息进行自动滚动。

    可以指定“页”的滚动量(当用户单击滚动轴时)和指定“行”的滚动量(当用户单击

    滚动箭头时),设计这些值以符合视图的自然特xìng。例如,可能需要以1 像素的增量滚动图形

    视图,而在文本文档中则要使用基于行高的增量来滚动。

    对单文档(SDI)界面来讲,一个应用程序中只用一个框架窗口,对多文档(MDI)界

    面来讲可能有多个MDI 子窗口。每一个视图都是一个子窗口,在单文档界面中父窗口即是框

    架窗口,在多文档界面中父窗口为MDI 子窗口。一个多文档应用中可以包含多个文档模板,

    一个模板定义了一个文档和一个或多个视图之间的对应关系。同一个文档可以属于多个模板,

    但一个模板中只允许定义一个文档,同样一个视图也可以属于多个文档模板。

    枫叶文学网www.fywxw.com

    Visual C++ 6.0 程序设计从入门到精通

    ·28·

    2.4.4 单文档(SDI)与多文档(MDI)应用程序

    在单文档界面程序中,同一时刻只能cāo作一个文档。如Windows 2000 下的记事本

    (Notepad)程序就是这样的例子,如图2-20 所示。在单文档界面中打开文档时,程序会自动

    关闭当前打开的活动文档,若文档修改后尚未保存,会提示是否保存所做的修改。由于一次

    只能打开一个窗口,因此不像Visual C++集成开发环境那样需要一个窗口菜单。单文档应用

    程序一般都提供一个文件(File)菜单,在该菜单下有一组命令,用于新建文档(New)、打

    开已有文档(Open)、保存或重命名存盘文档等。这类程序相对比较简单,常见的应用程序

    为终端仿真程序或一些工具程序。

    图2-20 单文档程序(Notepad)

    在多文档界面应用程序中允许同时cāo作多个文档。Visual C++集成开发环境就是这样的

    例子,其界面如图2-21 所示。在界面中可以同时打开多个文件(同时也就为每个文件打开一

    个窗口),并通过切换活动窗口激活相应的文档进行编辑。多文档应用程序也提供一个文件

    (File)菜单,用于新建、打开、保存文档。与单文档应用程序不同的是,它往往还提供一个

    关闭(Close)菜单项,用于关闭当前打开的文档;一个窗口菜单用于管理所有打开的子窗口,

    包括对子窗口的新建、关闭等,关闭一个窗口时,窗口内的文档也被自动关闭。

    图2-21 多文档程序(Visual C++ IDE)

    枫叶文学网www.fywxw.com

    第2 章 应用程序基本框架

    ·29·

    可以通过AppWizard 很方便地生成SDI 和MDI 类型的应用程序,这两种结构在代码设

    计方面也有如下的区别。

   
上一章 目录 下一页