- 1
- 0
- 约3.66万字
- 约 23页
- 2018-02-05 发布于浙江
- 举报
下载
下载
下载
第8章 视 图
在S D I或M D I应用程序中,视图是用户与应用程序,尤其是应用程序正在编辑的文档进行
交互的主要机制。本章中的所有例子都与视图有关,包括在对话框外创建视图,到把一个视
图分割成多个视图。
例32 滚动视图 本例添加一个滚动视图到应用程序中,滚动视图是图形设计应用程序
的理想选择。
例33 改变鼠标光标形状 本例讨论怎样有条件地改变光标的形状,这通常也是一个图
形设计应用程序的要求。
例34 沙漏光标 本例将讨论怎样把鼠标变成沙漏形状,以指示一个漫长的操作。
例35 窗体视图 本例讨论在对话框外创建一个视图。对话框定义一组控件窗口的大小
和位置,这将在后面两章中讨论。
例36 列表视图 本例讨论创建一个包含文本信息的列表的视图,该视图具有以图形突
出显示单行文本信息的能力。
例37 动态分割一个视图 本例讨论怎样给应用程序添加视图分割能力。在初始创建应
用程序时,A p p Wi z a r d提供了一个自动添加该特征的机会。
8.1 例32 滚动视图
目标
使视图能够自动地滚动一个比视图大的图像 (见图8 - 1 ) 。
滚动条自动地改变视图中绘制
的任何东西的方位
图8-1 添加一个滚动视图使滚动条有效
策略
用A p p Wi z a r d创建一个带滚动视图的应用程序,并讨论怎样添加一个滚动视图到一个已经
146 第二部分 用户界面实例
下载
用A p p Wi z a r d创建的应用程序中。滚动视图是从 C S c r o l l Vi e w派生的,而C S c r o l l Vi e w本身是从
标准MFC CVi e w类派生的。我们将用 C S c r o l l View::SetScrollSizes( ) ,以像素为单位设置视图
的大小。如果用户重新调整视图的大小,使它比创建时的视图小,这时将出现水平和垂直滚
动条,因此用户可以继续看到整个视图。
步骤
1. 用A p p Wi z a r d创建一个滚动视图
在用A p p Wi z a r d创建应用程序的最后一步,可以看到一个类的目录,这些类是为应用程序
创建的。选择C X x x Vi e w类(这里的X x x 是工程的名称) ,然后在基类组合框中选择C S c r o l l Vi e w ,
并单击F i n s h 。
2. 用C l a s s Wi z a r d创建一个滚动视图
用C l a s s Wi z a r d创建一个从C S c r o l l Vi e w派生的新视图类,然后在应用程序类的InitInstance( )
中,用新类替换用来定义应用程序文档模板的类。
// add new view class to document template
C M u l t i D o c Template* pDocTe m p l a t e ;
p D o c Template = new CMultiDocTe m p l a t e (
I D R _ W Z D T Y P E ,
R U N T I M E _ C L A S S ( C W z d D o c ) ,
R U N T I M E _ C L A S S ( C C h i l d F r a m e ) ,
R U N T I M E _ C L A S S ( C W z d S c r o l l View));
A d d D o c Te m p l a t e ( p D o c Te m p l a t e ) ;
原创力文档

文档评论(0)