原创 labview编程技巧-----xcontrol如何发送用户事件

2008-5-20 23:17 3828 4 4 分类: 测试测量




我在XCONTROL一文中详细说明了如何利用属性和方法,通过XCONTROL的事件结构,建立XCONTROL的方法.

通过属性可以控制XCONTROL的显示状态,通过方法,可以要求XCONTROL执行动作(命令),有的时候,XCONTROL需要想调用VI发送数据或者命令,要求调用VI执行动作,如何实现这个目的,有几种方法,全局变量,队列,用户事件,使用全局变量显然是不合适的,我们用XCONTROL的目的是实现组件封装,XCONTROL的运行不应该依赖于外部变量,使用队列也有它的问题,是我们不得不专门用一个循环来处理队列,这对一个不太经常发生的数据传送 ,显然是不经济的.

今天推荐一个方法,使用用户事件.

关于用户事件,我专门有一篇文章介绍.现在的LV编程,采用事件结构越来越多,我们只需要简单地

在事件结构中增加用户接口事件就可以了.

先看看程序实现的功能

点击看大图


按下SnapShot(捕捉)按钮后,XCONTROL自动通过用户事件把捕捉到的图象传送到调用VI

点击看大图


要想调用VI响应用户事件,必须得到用户事件参考,最好的办法是通过XCONTROL的只读属性得到,这样就需要在xcontrol的STATE中定义这个属性,看一下它的状态定义:



这个用户事件的数据是一个图片框,得到这个参考是需要技巧的,我演示一下方法:

点击看大图

另外一种常用的方法:

点击看大图

首先在XCONTROL的INIT中生成用户事件

点击看大图
在UNINTI.VI中销毁用户事件





在FACADE.VI中发送用户事件
点击看大图


这样只要XCONTROL的捕捉按钮按下,XCONTROL响应这个按钮同时把图片通过用户事件发送出去.


看看调用VI是如何响应用户事件的.
点击看大图

 
icon_name.gif
qq:276509891 http://www.eefocus.com/myspace/blog/show_149478.html

文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /2 下一条