




免费预览已结束,剩余33页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
663第十四章 控件第十四章 控 件F 介绍各种控件的相关知识F 介绍组态王内置控件的设置及使用F 介绍Active X控件的设置及使用14.3.2.3.3 动画连接属性页事件页单击动画连接属性的“事件”标签,显示“事件”页。如图14.52所示。图14.52 控件动画连接属性对话框事件页在事件属性页中,列举出了该控件的所有事件。如单击控件事件“Click”,控件数据变化事件“Change”等。控件的各个事件的具体含义请参见控件的说明文档(如本例中的日历控件可以查看MSDN等资料)。事件属性页列表共分为两列:第一列为事件的名称;第二列为与该事件关联的组态王自定义函数,即可以定义一个组态王自定义函数,当控件的事件产生时,组态王可以自动调用该函数。但需要注意的是,控件事件的关联函数必须在控件属性页中添加和编辑。在相应事件的“关联函数”表格中单击鼠标右键,弹出快捷菜单,如图14.53所示。图14.53 控件事件函数编辑快捷菜单在快捷菜单中共有三个菜单项:u 添加:对控件事件添加一个函数。选择“添加”命令后,弹出“控件事件函数”命令语言编辑器,如图14.54所示。控件事件函数命令语言编辑器与通用的命令语言编辑器的使用方法相同,唯一特殊的是图中划圈的地方:“事件”标签后的内容表示当前编辑的控件事件的名称,如“Change()”事件,如果事件带有参数,则会在事件名称内的括号中直接给出。“函数声明”:控件事件函数的类型都为“VOID”型,该项不可修改。控件事件函数同一般组态王自定义函数相同,都需要定义一个函数名称,如“DatTimChange( )”,函数声明中可以带有参数。 注:函数声明中函数名称不管是否有参数,都要加小括号。命令语言编辑器和自定义函数的定义、使用方法请参见本手册第十章 创建命令语言程序。图14.54 控件事件函数编辑器u 编辑:编辑控件属性已关联的事件函数。当控件事件关联有事件函数时,单击鼠标右键,该项有效。u 删除:删除控件属性已关联的事件函数。当控件事件关联有事件函数时,单击鼠标右键,该项有效。B 例1:在日历控件的“Change”事件中添加一个控件事件函数,用组态王的变量读取控件的属性值。操作方法如下:1、 创建日历控件,定义控件的动画连接属性中的名称,如“DatTim”。2、 在控件的事件属性页中的“Chang”事件关联函数格中,单击右键,选择“添加”菜单命令。3、 在函数声明的编辑框中输入函数名称“DatTimChange( )”。4、 在命令语言编辑区输入命令语言程序,如图14.55所示。图14.55 控件事件函数1A 注意:在控件事件函数中引用控件的属性时:可以用“thisCtrl.”,再加上控件的属性。控件属性的引用区分大小写。B 例2:组态王提供了一个表格控件“KVDBGrid”。在工具箱上选择插入通用控件,在控件列表中选择“KVDBGrid Class”,创建控件。定义控件的动画连接属性中控件名称为“KVDBGridCtrl”。如图14.56所示,添加其“MouseDown”事件函数。定义当鼠标左键按下时,表格的行数加1;鼠标右键按下时,表格的列数加1。定义的命令语言程序如图14.57所示。图14.56 添加控件的MouseDown事件函数图14.57 控件的MouseDown事件函数A 注意:在控件事件函数中引用控件事件的参数时:用“thisEvent.”,再加上控件事件的参数。参数名称的引用区分大小写。14.3.2.4 在命令语言中调用Active X控件的属性和方法 控件与组态王关联除了在控件属性中关联组态王变量和定义控件事件函数外,还可以在组态王的任何命令语言程序中调用控件的属性和方法。如画面命令语言、动画连接命令语言、应用程序命令语言等。但需要注意的是,当在运行系统中命令语言满足条件执行时,含有控件的画面在运行系统中应该是运行着的(不一定是当前画面),否则会出现调用调用控件属性或方法失败的情况,即得不到控件返回的值。 当控件创建成功,并定义了名称后,就可以在命令语言中调用其属性和方法了。下面以在按钮命令语言中调用日历控件的属性和方法为例介绍如何在命令语言中使用控件的属性和方法。B 例1:通过一个按钮将日历控件的时间值赋值给组态王变量。实现步骤为1、 按照14.3.2.1节所述,在画面上创建日历控件,定义动画连接属性,控件名称为“DatTimCtrl”。2、 在画面上创建按钮,双击按钮,弹出按钮动画连接对话框,选择“弹起时”命令语言,弹出命令语言编辑器,在命令语言编辑器的底部按钮区中单击“控件”按钮,弹出“控件属性和方法”对话框,如图14.58所示。该对话框由三个列表组成:u 控件名称:为下拉列表框,该列表框中列出当前工程中创建的所有Active X控件的名称。选择需要引用的控件的名称,如“DatTimCtrl”。“查看类型”列表框将变为有效。u 查看类型:从列表框中选择查看的类型:控件属性或控件方法。u 属性或方法:当选择“查看类型”后,在属性或方法列表中将列出相应类型的列表。如选择控件属性,则在属性或方法列表中列出日历控件的所有属性。如图14.59所示。图14.58 控件属性和方法对话框图14.59 日历控件的控件属性4、在属性列表中选择控件的属性,如“Year”,单击对话框的“确定”按钮,或在列表中直接双击该属性,控件属性和方法列表框自动关闭,控件的属性自动添加到命令语言编辑器中。如图14.60所示。图14.60 在命令语言中引用控件的属性A 注意:在命令语言里引用控件的属性时,应该使用控件的名称加控件属性名称,这与控件事件函数中使用有所不同。B 例2:通过按钮命令语言调用控件的方法。操作步骤如下:1、 使用例1中的日历控件。在画面上创建按钮,在按钮命令语言编辑器中单击“控件”按钮。2、 在弹出的“控件属性和方法”对话框中,选择控件名称“DatTimCtrl”,在查看类型中选择“控件方法”。如图14.61所示。如在本例中选择控件的关于“AboutBox”。选择后,单击“确定”,关闭对话框。如图14.62所示,为在命令语言中调用的控件的方法。图14.61 控件方法列表图14.62 调用控件的方法 按照上述例程中的方法,可以在组态王的其它命令语言中调用控件的方法和属性。14.3.2.5 一个Active X控件的使用例程Active X控件的使用极大的方便了用户,使用户很多在组态软件中无法使用的功能,通过Active X控件轻而易举的实现了。下面详细举例说明Active X控件在组态王中如何使用。本例使用Microsoft Chart Control控件为例说明如何利用该控件作一个步骤图。1、 新建画面,单击工具箱上的“插入通用控件”按钮,或选择菜单“编辑/插入通用控件”命令,弹出插入控件对话框,如下图所示。2、 插入控件:在对话框中选择“Microsoft Chart Control ”项,然后单击“确定”按钮。对话框自动消失,鼠标箭头变为小“十”字型,在画面中绘制图表的区域按下鼠标左键,然后拖动鼠标,拖动出的矩形框为图表的区域,松开鼠标键后,图表创建成功,显示在画面上,如下图所示。3、 设置控件固有属性:在控件上单击右键,在弹出的快捷菜单上选择“控件属性”命令,弹出控件固有属性对话框,如下图所示。n 在图表属性页中的图表类型中选择“二维”、“步骤”选项。在图表选项中选择“显示图例”选项,该选项选中后,在图表的右侧将出现关于图表中各种颜色与曲线对应情况的标识。 n 在文本属性页中定义图表各个标签的标题。在“属性名称”列表框中选择对象,如标题,为图表的标题,在“文本”编辑框中输入标题名称,如“步骤图”。然后可以选择“X轴”、“Y轴”定义其标签名称。然后可以通过“对齐”、“方向”选项分别定义各个标签的对齐方式和方向。n 在字体属性页中定义各个标签的字体及字体颜色。定义完成的图表如下图所示。4、 设置控件名称和函数:在组态王中每一个控件必须要有一个唯一的名称。双击该图表控件,弹出动画连接属性对话框,如下图所示。n 常规属性页中,在“控件名”编辑框中输入控件的名称,如“步骤图”。n 在事件属性页中定义一个函数:当用户双击该图表时,弹出图表控件的版本信息。双击“DblClick”对应的“关联函数”,弹出控件事件函数对话框,定义函数的名称为“hanshu()”,单击“控件”按钮,在弹出的控件属性和方法对话框中选择“步骤图”的方法“AboutBox”方法。如下图所示。5、 为控件曲线赋值:设置画面命令语言,初始化控件,和在运行过程中为各条曲线赋值。假设在组态王中的变量:实数1、实数2、实数3代表三个步骤的数值。定义画面定义画面命令语言 显示时:n 初始化图表为三行三列。定义画面定义画面命令语言 存在时: 1000毫秒 步骤图.Column=1;步骤图.Row=1;/为第一行第一列的第一条曲线赋值步骤图.Data=StrFromReal( 本站点实型1, 2, f );步骤图.Column=1;步骤图.Row=2;/为第一行第一列的第二条曲线赋值步骤图.Data=StrFromReal( 本站点实型2, 2, f );步骤图.Column=1;步骤图.Row=3;/为第一行第一列的第三条曲线赋值步骤图.Data=StrFromReal( 本站点实型3, 2, f );步骤图.Column=2;步骤图.Row=1;步骤图.Data=StrFromReal( 本站点实型1*1.2, 2, f );步骤图.Column=2;步骤图.Row=2;步骤图.Data=StrFromReal( 本站点实型2*1.2, 2, f );步骤图.Column=2;步骤图.Row=3;步骤图.Data=StrFromReal( 本站点实型3*1.2, 2, f );步骤图.Column=3;步骤图.Row=1;步骤图.Data=StrFromReal( 本站点实型1*1.8, 2, f );步骤图.Column=3;步骤图.Row=2;步骤图.Data=StrFromReal( 本站点实型2*1.8, 2, f );步骤图.Column=3;步骤图.Row=3;步骤图.Data=StrFromReal( 本站点实型3*1.8, 2, f );n 保存画面后,切换到组态王运行系统,运行结果如下图所示。 双击该控件,弹出控件的“关于”对话框,如图所示。 使用Microsoft Chart Control控件可以制作如棒图、散点图、曲线图、分布图等图表。用户可以按照例中的方法使用。 Active X控件按照其功能的不同,其属性、方法、事件有多有少,复杂程度也不同。建议用户在使用Active X控件前最好先参阅一下控件厂家的说明、帮助等,如属于Microsoft的控件,可以参阅MSDN。14.3.3 组态王提供的Video视频控件Video视频控件由组态王提供的支持视频显示的Active X控件。用户可通过该控件与各种型号的视频设备相连接。Video视频控件的使用步骤为:14.3.3.1 画面上创建Video视频控件操作步骤如下:第一步:单击工具箱中的“插入通用控件”按钮或选择菜单命令“编辑插入通用控件”,则弹出“插入控件”对话框。第二步:在“插入控件”对话框内选择Video Control,如下图所示:第三步:用鼠标左键单击“确定”按钮,鼠标变成十字形。然后在画面上画一个矩形框,Video视频控件就放到画面上了。可以任意移动、缩放Video视频控件,如同处理一个单元图素一样。14.3.3.2 设置Video视频控件的属性用左键双击Video控件,弹出“动画连接属性”对话框,或者用右键单击Video控件选择菜单命令“动画连接”,则也弹出“动画连接属性”对话框如下:图14.63 设置控件属性控件名:一个Video视频控件对应一个控件名称,而且是唯一的,不能重复命名,控件名由工程人员设定,例如设为“监控”。优先级:用于设置访问该控件的操作优先级级别,优先级级别从0-999。安全区:单击右侧的“安全区选择”按钮,选择该控件的操作安全区。14.3.3.3 Video视频控件的使用Video控件的使用主要依靠调用控件提供的方法来实现。控件提供的方法主要有以下几种:AboutBox()CapVideoToAVI(STRING lpszAVIName)GetDevNum()OpenAVI(STRING lpszFileName)OpenVideo(LONG nResIndex)ReadPort(LONG nAddr)SaveVideoFrame(STRING lpszPicName)SaveVideoFrmeToRect(STRING lpszPicName)SetFrameRect()StopCapVideo()VideoCompression()VideoDisplay()VideoFormat()VideoSource()WritePort(LONG nAddr,LONG nData)下面以一个具体例子说明Video视频控件的使用及操作步骤。B 例如:在大厅内安装一个探头,视频采集卡插在计算机上,在屏幕上设置一个Video视频控件,通过打开Video视频控件,则探头所拍摄下来的内容全部在屏幕上显示出来,并且能通过提供的函数对画面做相应处理。在组态王开发系统中建立的视频控件和操作按钮如下图所示:分别对各个按钮建立命令语言连接,建立命令语言连接的方式为:双击按钮,选择“按下”或“弹起”时,弹出命令语言界面,点击“控件”按钮,弹出“控件属性和方法”对话框,控件名称选择定义的“监控”,在属性或方法中会列出所有控件方法,如下图所示:调用相应的方法即可完成对视频控件的所有操作。下面对建立的操作按钮做详细说明:ON: 打开视频采集BOOL OpenVideo(short nResIndex)参数:nResIndex 视频设备的设备号,该值的范围为09;返回值:成功返回TRUE,失败返回FALSE例如:监控.OpenVideo(0)OFF: 关闭视频采集BOOL CloseVideo( )返回值:成功返回TRUE,失败返回FALSE例如:监控. CloseVideo( )设置视频源: 弹出设置视频源对话框BOOL VideoSource( )返回值:成功返回TRUE,失败返回FALSE例如:监控. VideoSource( )设置视频压缩: 弹出设置视频压缩对话框BOOL VideoCompression( )返回值:成功返回TRUE,失败返回FALSE例如:监控. VideoCompression( )拍照: 单帧保存视频图像到一个BMP文件BOOL SaveVideoFrame(LPCTSTR lpszPicName)参数:lpszPicName,要保存的BMP文件名返回值:成功返回TRUE,失败返回FALSE例如:监控.SaveVideoFrame(“c:my documents01.bmp”)摄像: 把视频录像到一个AVI文件BOOL CapVideoToAVI(LPCTSTR lpszAVIName)参数:lpszAVIName,录像后保存的AVI文件名返回值:成功返回TRUE,失败返回FALSE例如:监控.CapVideoToAVI (“c:my documents01.avi”)停止摄像:停止摄像BOOL StopCapVideo( )返回值:成功返回TRUE,失败返回FALSE例如:监控. StopCapVideo( )回放: 打开一个AVI文件BOOL OpenAVI(LPCTSTR lpszFileName)参数:lpszFileName,要打开的AVI文件名返回值:成功返回TRUE,失败返回FALSE例如:监控. OpenAVI(”c:my documents01.avi”)设置抓拍位置:弹出设置抓拍区域对话框BOOL SetFrameRect( )返回值:成功返回TRUE,失败返回FALSE例如:监控. SetFrameRect( )抓拍: 抓拍视频图像到一个BMP文件BOOL SaveVideoFrameToRect(LPCTSTR lpszPicName)参数:lpszPicName,抓拍保存的BMP文件名返回值:成功返回TRUE,失败返回FALSE例如:监控. SaveVideoFrameToRect (”c:my documents01.bmp”)注意:抓拍前可利用SetFrameRect( )弹出的对话框来确定抓拍范围,或者直接用鼠标在画面上选取范围,用鼠表直接选取抓拍范围时,没有任何提示信息。设置视频显示:弹出设置视频显示对话框BOOL VideoDisplay( )返回值:成功返回TRUE,失败返回FALSE例如:监控. VideoDisplay( )设置视频格式:弹出设置视频格式对话框BOOL VideoFormat( )返回值:成功返回TRUE,失败返回FALSE例如:监控. VideoFormat( )另外,改控件还具有以下方法:获取视频设备个数: Short GetDevNum( )返回值:视频设备个数往端口地址写入控制码: Long WritePort(short nAddr, short nData)参数:nAddr 端口地址nData 控制码返回值:返回写入的控制码备注:如果操作系统是Windows 98,则直接调用;如果是Windows NT / Windows 2000则需要安装组态王的NT底层驱动。请从光盘下的Value packVideoNT底层驱动中安装。从端口地址读数据: Long ReadPort(short nAddr)参数:nAddr,端口地址返回值:返回从端口地址读取的数据备注:如果操作系统是Windows 98,则直接调用;如果是Windows NT / Windows 2000则需要安装组态王的NT底层驱动。请从光盘下的Value packVideoNT底层驱动中安装。在开发中设置好后进入运行系统,如果是第一次进入运行系统,打开视频后,必须设置视频源。14.3.4 开放型数据库访问控件 在工程中经常需要访问开放型数据库中的大量数据,如果通过SQL函数编程查询,则费时费力,不易使用。针对这种情况,组态王提供了一个通过ODBC数据源访问开放型数据库中大量数据的控件KvDBGrid。通过该控件,用户可以方便的设置不同的产寻条件访问数据库,进行数据查询,还可将查询结果按照表格的方式打印出来。该控件具有以下功能:1 显示数据库一个表中的数据,可自由选择显示字段,查询条件限制(目前暂不支持多个表数据的查询)。2 开发状态可设置显示表头。3 运行状态可编辑表格中数据。并且可以更新数据库(Access不支持该功能)。4 运行状态可动态设置过滤条件,刷新显示。5 可打印表格中显示的数据,可进行横向和纵向分页。A 注意:在使用该控件前,需要在系统控制面板中定义一个ODBC数据源,连接到所要查询的数据库。在本手册中以组态王提供的报警数据库中的ALARM表为例。14.3.4.1创建KvdbGrid控件 单击工具箱中的“插入通用控件”按钮或选择菜单命令“编辑插入通用控件”,则弹出“插入控件”对话框。在“插入控件”对话框内选择KvDBGrid Control,如图14.64所示。用鼠标左键单击“确定”按钮,鼠标变成十字形。然后在画面上画一个矩形框,KvDBGrid控件就放到画面上了。可以任意移动、缩放Video视频控件,如同处理一个单元图素一样。如图14.65所示。图14.64 选择KvDBGrid控件图14.65 创建后的KvDBGrid控件14.3.4.2 设置KvDBGrid控件的固有属性选择控件,单击右键,在弹出的菜单中选择“控件属性”。弹出控件固有属性页,可分别设置如下属性:(1)、数据源:该属性页主要定义控件连接的数据源、数据表,选择要显示的数据表中的字段名称,对每个字段在控件中显示的标题、格式、对齐方式、小数点位数(如果是数值型的话)进行设置。可以在这里直接指定查询的条件,也可以在运行时修改控件属性以改变查询条件。图14.66 KvDBGrid控件属性u 单击“浏览”按钮可选择或新建ODBC数据源。u 选择数据源后“表名称”组合框中就自动填充了可选的表名称,可弹出下拉列表选择要显示的数据所在的表名称。如图14.67所示。图14.67 选择KvDBGrid控件的连接数据源和数据表u 选择表名称后,“有效字段”中自动列出原表中的所有字段,可通过“添加”、“删除”,“上移”,“下移”按钮来选择要显示的字段和显示顺序。u 单击显示的字段,可在右侧设置字段显示的标题、格式、对齐等属性。如图14.68所示。图14.68 选择KvDBGrid控件的字段u 最后在“查询条件”中设置限制条件(SQL语法),只输入SELECTWHERE语句之后的部分。如查询“报警日期”为2003年1月1日的报警信息,则在该文本框中输入:AlarmDate=2003/1/1(2)、表格属性:设置表格在运行状态时的外观和可操作性。图14.69 KvDBGrid控件的表格属性可设置表格的一般属性。说明:如固定行数大于1,则第一行显示选择字段的标题,其它固定行不自动填充,要由使用者在设计状态编辑其显示内容。(3)、颜色:图14.70 KvDBGrid控件的颜色属性可设置表格颜色,背景颜色,文本颜色等信息。(4)、字体:图14.71 KvDBGrid控件的字体属性可设置固定行字体,普通行字体,打印页眉,页脚,标题字体。(5)、打印设置:图14.72 KvDBGrid控件的打印设置属性可设置打印标题,页眉,页脚及其位置。页码格式和位置。可对每一页进行单独的页面设置。14.3.4.3 设置KvDBGrid控件的动画连接属性 要使用KvDBGrid控
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年断桥铝门窗安全性能提升安装服务合同
- 2025版通信技术支持与售后服务合同
- 2025版宿舍楼智能门禁系统安装与维护合同
- 2025版绿色建筑项目三通一平节能合同
- 第 3 单元 第 6 章第 3 节 生殖器官的生长2023-2024学年七年级上册生物同步说课稿(北师大版)
- 中级会计租赁试题及答案
- 2025年高压电工电气设备原理试题集
- 2025年消防应急救援指挥考试题库:消防安全知识法规理解与测试题集
- 2025年小学教师资格考试《综合素质》职业道德高频考题解析练习(含答案)
- 郑煤机内控审计面试题及答案
- GB/T 24218.2-2009纺织品非织造布试验方法第2部分:厚度的测定
- 龙应台《放学》记叙文阅读训练及答案
- GB/T 11345-2013焊缝无损检测超声检测技术、检测等级和评定
- 中航工业运营管理体系内容介绍课件
- 2022年成都中医药大学辅导员招聘考试试题及答案解析
- 智能客服趋势发展白皮书:智能客服预见未来课件
- 大班 语言社会 我升大班啦 课件
- 项目造价咨询计划表
- 幼儿园玩教具操作与活动指导
- 敏捷项目管理实践指南
- 《数据结构》课件(完整版)
评论
0/150
提交评论