更详细的关于Form++产品的技术细节,请查看下面的列表:
在Form++可视化图形源码组件库中,View完成所有的外部事件(鼠标、键盘等)的处理,在Data
model的数据发送变化或者增加了新的命令的时候,View可以自动的刷新屏幕来更新显示,同时View采用了(双缓冲)Double
Buffer技术来保证在刷新屏幕的时候不会闪烁。
CFODrawView是所有Form++可视化图形源码组件库的View的基类,此类是直接从MFC的CscrrollView继承下来的,它包含了所有Form++中的用户操作。支持多级屏幕放大缩小、打印和打印预览、对象的移动、放缩以及旋转、文本编辑等操作。同时它能够密切的协作CFODataModel的工作,当CFODataModel发生变化的时候,它能够自动的调用OnUpdate来更新数据。同时CFODrawView还提供了Pan操作、滚动视图、对象选择把柄、以及
OLE对象的拖放等功能。如果您需要更高的操作,您可以在任何时候都可以从CFODrawView继承新的类来添加新的成员函数或者成员变量来实现。
基本功能 |
1 网格
在默认状态下,每个视图被一个网格覆盖,组件依附在网格上。你可以显示或隐藏网格和打开或关闭依附的特性。你也可以改变网格的颜色,使它相对于画布的背景色是可见的。
在默认状态下,网格的行和列都是七个象素。你也可以改变它的距离。每个视图的网格都是独立的。因此,如果你改变一个视图的网格的间距或颜色,其他视图的网格不会受影响。
2 选择柄的尺寸
另一个你需要考虑的视觉方面的细节是你的组件被选中时如何显示。模板维持着选择柄。你可以指定它们的大小,也可以重载画选择柄的函数来改变它们的外观。
3 组件跟踪
视图的另一个指责是跟踪组件的操作。当终端用户移动,改变大小,比例放缩一个组件时,跟踪放置一个组件的轮廓。组件轮廓的目的是显示如果你在现在的位置放置组件,它看起来会是什么样的。
4 更新
视图监视着模。当模某方面发生变化,它会通知它的所有视图。视图有一个OnUpdate()函数来接收通知。然后确定视图的哪个区被变化所影响,并且重画。
5 滚动
每个视图都有在右边和底部有滚动条,当模板的尺寸比客户区大时,滚动条会自动显示。 6 视图类
6
OLE 拖放
Form++允许使用OLE拖放技术来移动组件。只有在你的应用程序中初始化了OLE库,你才可以使用这个功能。在你的应用对象的InitInstance()函数中加入对AfxOleInit()的调用,就能初始化OLE库。
使用OLE拖放技术使终端用户可以把组件从一个窗口拖到另一个窗口。它也支持拖动拷贝操作。拖动拷贝操作就是把终端用户正在拖动的组件拷贝到新位置,而不是移动它。如果你不想支持这个功能或是装载OLE动态连接库,就不要对OLE初始化。当OLE没有初始化,包含在CFOBaseView
对象中的标准拖放功能就没有。
|