视图包含了所有你递交的图形模到屏幕的逻辑转换。它处理模的绘制和打印,还有滚动和尺寸变化。视图的主要功能在模变化时更新屏幕区域。
1
网格
在默认状态下,每个视图被一个网格覆盖,组件依附在网格上。你可以显示或隐藏网格和打开或关闭依附的特性。你也可以改变网格的颜色,使它相对于画布的背景色是可见的。
在默认状态下,网格的行和列都是七个象素。你也可以改变它的距离。每个视图的网格都是独立的。因此,如果你改变一个视图的网格的间距或颜色,其他视图的网格不会受影响。
2
选择柄的尺寸
另一个你需要考虑的视觉方面的细节是你的组件被选中时如何显示。模板维持着选择柄。你可以指定它们的大小,也可以重载画选择柄的函数来改变它们的外观。
3
组件跟踪
视图的另一个指责是跟踪组件的操作。当终端用户移动,改变大小,比例放缩一个组件时,跟踪放置一个组件的轮廓。组件轮廓的目的是显示如果你在现在的位置放置组件,它看起来会是什么样的。
4
更新
视图监视着模。当模某方面发生变化,它会通知它的所有视图。视图有一个OnUpdate()函数来接收通知。然后确定视图的哪个区被变化所影响,并且重画。
5
滚动
每个视图都有在右边和底部有滚动条,当模板的尺寸比客户区大时,滚动条会自动显示。
6
OLE 拖放
Form++允许使用OLE拖放技术来移动组件。只有在你的应用程序中初始化了OLE库,你才可以使用这个功能。在你的应用对象的InitInstance()函数中加入对AfxOleInit()的调用,就能初始化OLE库。
使用OLE拖放技术使终端用户可以把组件从一个窗口拖到另一个窗口。它也支持拖动拷贝操作。拖动拷贝操作就是把终端用户正在拖动的组件拷贝到新位置,而不是移动它。如果你不想支持这个功能或是装载OLE动态连接库,就不要对OLE初始化。当OLE没有初始化,包含在CFOBaseView
对象中的标准拖放功能就没有。
|