2.3 用户窗口组态
用户窗口是由用户来定义的、用来构成MCGS图形界面的窗口。用户窗口是组成MCGS图形界面的基本单位,所有的图形界面都是由一个或多个用户窗口组合而成的,它的显示和关闭由各种策略构件和菜单命令来控制。
用户窗口中可以放置三种不同类型的图形对象,即图元、图符和动画构件。图元和图符对象为用户提供了一套完善的设计制作图形画面和定义动画的方法。动画构件对应于不同的动画功能,它们是从工程实践经验中总结出的常用的动画显示与操作模块,用户可以直接使用。通过在用户窗口内放置不同的图形对象,搭建多个用户窗口,用户可以构造各种复杂的图形界面,用不同的方式实现数据和流程的“可视化”。
组态过程中的用户窗口,最多可定义512个。所有的用户窗口均位于主控窗口内,其打开时窗口可见;关闭时窗口不可见。允许多个用户窗口同时处于打开状态。用户窗口的位置、大小和边界等属性可以随意改变或设置,如可以让一个用户窗口在顶部作为工具条,也可以放在底部作为状态条,还可以使其成为一个普通的最大化显示窗口等。多个用户窗口的灵活组态配置,就构成了丰富多彩的图形画面。
2.3.1 创建用户窗口
在MCGS组态环境的工作台窗口内,选择“用户窗口”页,鼠标单击“新建窗口”按钮,即可定义一个新的用户窗口,名称为“窗口0”,如图2-11所示。
图2-11 新建用户窗口
在“用户窗口”页中,可以像在Windows系统的文件操作窗口中一样,以大图标、小图标、列表、详细资料四种方式显示用户窗口(单击鼠标右键,通过快捷菜单选择),也可以剪切、复制、粘贴指定的用户窗口,还可以直接修改用户窗口的名称。
2.3.2 设置窗口属性
在MCGS中,用户窗口也是作为一个独立的对象而存在的,它包含的许多属性需要在组态时正确设置。鼠标单击选中的用户窗口,可用下列方法之一打开“用户窗口属性设置”对话框。
1)单击工具条中的“显示属性”按钮。
2)执行“编辑”菜单中的“属性”命令。
3)按快捷键〈Alt+Enter〉。
4)进入窗口后,鼠标双击用户窗口的空白处。
5)进入窗口后,单击鼠标右键,在弹出的快捷菜单中选择“属性”菜单项。
在对话框弹出后,可以分别对用户窗口的“基本属性”“扩充属性”“启动脚本”“循环脚本”和“退出脚本”等属性进行设置。
1.基本属性
基本属性包括窗口的操作名称、显示标题、窗口位置、窗口边界形式以及窗口说明等项内容,如图2-12所示。对各项属性简介如下。
图2-12 用户窗口基本属性设置
系统各个部分对用户窗口的操作是根据窗口名称进行的,因此,每个用户窗口的名称都是唯一的。在建立窗口时,系统赋予窗口的默认名称为“窗口×”(×为区分窗口的数字代码)。
窗口标题是系统运行时在用户窗口标题栏上显示的标题文字。
窗口背景一栏用来设置窗口背景的颜色。
窗口的位置属性决定了窗口的显示方式。当窗口的位置设定为“顶部工具条”或“底部状态条”时,运行时窗口没有标题栏和状态框,窗口宽度与主控窗口相同,形状等同于工具条或状态条;当窗口位置设定为“屏幕中间显示”时,运行时用户窗口始终位于主控窗口的中间(窗口处于打开状态时);当设定为“最大化显示”时,用户窗口充满整个屏幕;当设定为“任意摆放”时,窗口的当前位置即为运行时的位置。
窗口边界属性决定了窗口的边界形式。当窗口设置为“无边无标题栏”时,窗口的标题并不存在(窗口的位置属性和边界属性只有在运行时才体现出来)。 2.扩充属性
鼠标单击“扩充属性”标签,进入用户窗口的“扩充属性”属性页,完成对窗口的位置进行精确定位、是否锁定窗口的位置、确定标题栏和控制框是否显示等属性的设置如图2-13所示。
在扩充属性中的“窗口视区”是指实际用户窗口可用的区域,在显示器屏幕上所见的区域称为可见区,一般情况下两者大小相同,但是可以把“窗口视区”设置成大于可见区此时在用户窗口侧边附加滚动条,操作滚动条可以浏览用户窗口内所有图形。打印窗口时按“窗口视区”的大小来打印窗口的内容。还可以选择打印方向是指按打印纸张的纵向还是横向打印。
3.启动脚本 鼠标单击“启动脚本”标签,进入该用户窗口的“启动脚本”属性页,如图2-14所示。单击“打开脚本程序编辑器”按钮,可以用MCGS提供的类似普通BASIC语言的编程语言,编写脚本程序控制该用户窗口启动时需要完成的操作任务。
图2-13 用户窗口扩充属性设置
图2-14 用户窗口启动脚本设置
4.循环脚本 鼠标单击“循环脚本”标签,进入该用户窗口的“循环脚本”属性页。如果需要用户窗口循环显示,在“循环时间”文本框内输入用户窗口的循环时间,单击“打开脚本程序编辑器”按钮,可以编写脚本程序控制该用户窗口需要完成的循环操作任务。
5.退出脚本 鼠标单击“退出脚本”标签,进入该用户窗口的“退出脚本”属性页。单击“打开脚本程序编辑器”按钮,可以编写脚本程序控制该用户窗口关闭时需要完成的操作任务。
2.3.3 创建图形对象
定义了用户窗口并完成属性设置后,就开始在用户窗口内使用系统提供的绘图工具箱创建图形对象,制作漂亮的图形画面了。
在用户窗口内创建图形对象的过程,就是从工具箱中选取所需的图形对象绘制新的图形对象的过程。
除此之外,还可以采取复制、剪贴、从元件库中读取图形对象等方法,加快创建图形对象的速度,使图形界面更加漂亮。
1.工具箱
在工作台的“用户窗口”页中,鼠标双击指定的用户窗口图标,或者选中用户窗口图标后,单击“动画组态”按钮,一个空白的用户窗口就打开了,可在上面放置图形对象以生成需要的图形界面。
在用户窗口中创建图形对象之前,需要从工具箱中选取需要的图形构件,进行图形对象的创建工作。MCGS提供了两个工具箱,即放置图元和动画构件的绘图工具箱和常用图符工具箱。从这两个工具箱中选取所需的构件或图符,在用户窗口内进行组合,就构成用户窗口的各种图形界面。
鼠标单击工具条中的“工具箱”按钮,打开了放置图元和动画构件的绘图工具箱,如图2-15所示。其中第2~9个图标对应于8个常用的图元对象,后面的29个图标对应于系统提供的16个动画构件。
在工具箱中选中所需要的图元、图符或者动画构件,利用鼠标在用户窗口中拖曳出一定大小的图形,即创建了一个图形对象。
用系统提供的图元和图符,画出新的图形,执行“排列”菜单中的“构成图符”命令,构成新的图符,可以将新的图形组合为一个整体使用。如果要修改新建的图符或者取消新图符的组合,执行“排列”菜单中的“分解图符”命令,可以把新建的图符分解回组成它的图元和图符。
图2-15 绘图工具箱
2.绘制图形对象在用户窗口中绘制一个图形对象,实际上是将工具箱内的图符或构件放置到用户窗口
中,组成新的图形。具体操作方法如下。打开工具箱,用鼠标单击工具箱内对应的图标,选中所要绘制的图元、图符或动画构
件。把鼠标移到用户窗口内,此时鼠标光标变为十字形,按住鼠标左键不放,在窗口内拖动
鼠标到适当的位置,然后松开鼠标左键,则在该位置建立了所需的图形,绘制图形对象完
成,此时鼠标光标恢复为箭头形状。当绘制折线或者多边形时,在工具箱中选中折线图元按钮,将鼠标移到用户窗口编辑
区,先将十字光标放置在折线的起始点位置,单击鼠标,再移动到第二点位置,单击鼠标,
如此进行,直到最后一点位置时,双击鼠标,完成折线的绘制。如果最后一点和起始点的位
置相同,则折线闭合成多边形。多边形是一个封闭的图形,其内部可以填充颜色。3.复制图形对象复制对象是将用户窗口内已有的图形对象复制到指定的位置,原图形仍保留,这样可以
加快图形的绘制速度,具体操作步骤如下。用鼠标单击用户窗口内要复制的图形对象,选中(或激活)后,执行“编辑”菜单中
“拷贝”命令,或者按快捷键〈Ctrl+C〉,之后,执行“编辑”菜单中“粘贴”命令,或者
按快捷键〈Ctrl+V〉,则复制出一个新的图形,连续执行“粘贴”命令,可复制出多个
图形。图形复制完毕,用鼠标拖动到用户窗口中所需的位置。另外也可以采用拖曳法复制图形。先激活要复制的图形对象,按下〈Ctrl〉键不放,鼠
标指针指向要复制的图形对象,按住左键移动鼠标,到指定的位置松开左键,即可完成图形
的复制工作。 4.剪贴图形对象 剪贴对象是将用户窗口中选中的图形对象剪下,放置到指定位置,具体操作如下。
首先选中需要剪贴的图形对象,执行“编辑”菜单中的“剪切”命令,接着执行“编辑”菜单中的“粘贴”命令,粘贴所选图形,用鼠标移动,将其放到新的位置。
注意:无论是复制还是剪贴,都是通过系统内部设置的剪贴板进行的。执行第一个命令“拷贝”或“剪切”时,是将选中的图形对象复制或放置到剪贴板中,执行第二个命令“粘贴”,则将剪贴板中的图形对象粘贴到指定的位置上。 5.操作对象元件库 MCGS设置了称为对象元件库的图形库,用来解决组态结果的重新利用的问题。通常在使用本系统的过程中,把常用的、制作好的图形对象甚至整个用户窗口存入对象元件库中,需要时,从元件库中取出来直接使用即可。从元件库中读取图形对象的操作方法如下。
用鼠标单击工具箱中的“插入元件”图标,弹出“对象元件库管理”对话框,如图2-16所示,选中对象类型后,从相应的元件列表中选择所要的图形对象,按“确认”按钮,即可将该图形对象放置在用户窗口中。
图2-16 “对象元件库管理”对话框
当需要把制作完好的图形对象插入到对象元件库中时,先选中所要插入的图形对象,此时“插入元件”图标激活,用鼠标单击该图标,弹出“把选定的图形保存到对象元件库?”提示框,单击“确定”按钮,弹出“对象元件库管理”对话框,默认的对象名为“新图形”,用鼠标拖动到指定位置,抬起鼠标,同时还可以对新放置的图形对象进行重命名、位置移动等操作,单击“确认”按钮,则把新的图形对象存入到对象元件库中。
2.3.4 定义动画连接
1.图形动画的实现 在用户窗口由图形对象搭制而成的图形界面是静止的,需要对这些图形对象进行动画属性设置,使它们“动”起来,真实地描述外界对象的状态变化,达到过程实时监控的目的。
MCGS实现图形动画设计的主要方法是将用户窗口中的图形对象与实时数据库中的数据对象建立相关性连接,并设置相应的动画属性,这样在系统运行过程中,图形对象的外观和状态特征就会由数据对象的实时采集结果进行驱动,从而实现图形的动画效果,使图形界面“动”起来。
用户窗口中的图形界面是由系统提供的图元、图符及动画构件等图形对象搭制而成的动画构件是作为一个独立的整体供选用的,每一个动画构件都具有特定的动画功能,一般说来,动画构件用来完成图元和图符对象所不能完成或难以完成的、比较复杂的动画功能,而图元和图符对象可以作为基本图形元素,便于用户自由组态配置,来完成动画构件中所没有的动画功能。 2.动画连接的含义 所谓动画连接,实际上是将用户窗口内创建的图形对象与实时数据库中定义的数据对象建立起对应的关系,在不同的数值区间内设置不同的图形状态属性(如颜色、大小、位置移动、可见度和闪烁效果等),将物理对象的特征参数以动画图形方式来进行描述,这样在系统运行过程中,用数据对象的值来驱动图形对象的状态改变,进而产生形象逼真的动画效果。
一个图元、图符对象可以同时定义多种动画连接,由图元、图符组合而成的图形对象最终的动画效果是多种动画连接方式的组合效果。根据实际需要,灵活地对图形对象定义动画连接,就可以呈现出各种逼真的动画效果来。 3.常见动画连接 图元、图符对象所包含的动画连接方式有4大类共11种,即颜色动画连接(填充颜色边线颜色和字符颜色),位置动画连接(水平移动、垂直移动和大小变化),输入输出连接(显示输出、按钮输入和按钮动作),特殊动画连接(可见度变化、闪烁效果)。
(1)颜色动画连接
颜色动画连接,就是指将图形对象的颜色属性与数据对象的值建立相关性关系,使图元、图符对象的颜色属性随数据对象值的变化而变化,用这种方式实现颜色不断变化的动画效果。
颜色属性包括填充颜色、边线颜色和字符颜色三种,只有“标签”图元对象才有字符颜色动画连接。对于“位图”图元对象,无须定义颜色动画连接。
(2)位置动画连接
位置动画连接包括图形对象的水平移动、垂直移动和大小变化三种属性,使图形对象的位置和大小随数据对象值的变化而变化。用户只要控制数据对象值的大小和值的变化速度就能精确地控制所对应图形对象的大小、位置及其变化速度。
用户可以定义一种或多种动画连接,图形对象的最终动画效果是多种动画属性的合成效果。例如,同时定义水平移动和垂直移动两种动画连接,可以使图形对象沿着一条特定的曲线轨迹运动,假如再定义大小变化的动画连接,就可以使图形对象在作曲线运动的过程中同时改变其大小。
(3)输入输出连接
为使图形对象能够用于数据显示,并且使操作人员方便操作系统,更好地实现人机交互功能,系统增加了设置输入输出属性的动画连接方式。
设置输入输出连接方式要从显示输出、按钮输入和按钮动作三个方面去着手,实现动画连接,体现友好的人机交互方式。
显示输出连接只用于“标签”图元对象,显示数据对象的数值;按钮输入连接用于输入数据对象的数值;按钮动作连接用于响应来自鼠标或键盘的操作,执行特定的功能。
在设置属性时,在“动画组态属性设置”对话框内,从“输入输出连接”项中选定一种,进入相应的属性窗口页进行设置。
(4)特殊动画连接
在MCGS中,特殊动画连接包括可见度和闪烁效果两种方式,用于实现图元、图符对象的可见与不可见交替变换和图形闪烁效果,图形的可见度变换也是闪烁动画的一种。MCGS中每一个图元、图符对象都可以定义特殊动画连接的方式。