动态注册用户接口事件
发布时间:2014/6/19 20:55:36 访问次数:431
处理动态注册事件一般需要以下4个步骤:
(1)取得生成事件MBR3090PT的那个对象的VI Server引用。
(2)连接VI Server引用到注册事件节点进行对象的事件注册。
(3)将事件结构放在一个While循环中处理事件。
(4)用取消事件注册函数停止事件发生。
下面通过一个LabVIEW自带的例子Dynamically Register for Events介绍以上的过程和一些事件函数的用法。本书对这个例子稍微做一下修改,并重命名为“动态注册事件”。图2-18是这个程序的前面板。
运行这个程序后,如果在前面板的扑克牌图片上单击,并按住鼠标左键,就可以拖动扑克牌移动,同时可以看到循环数在增加;在前面板其他位置无论鼠标怎样移动,循环数都不变,说明程序在等待事件发生。要实现这种效果,显然要对事件注册随时修改,即鼠标在扑克牌上按下时注册一个事件,释放时注册另一个事件。
图2-19是上述程序的框图。“当前VI路径”函数为“打开VI引用”函数输入“VI路径”参数。“打开VI引用”函数打开当前VI的引用。后面两个属性节点先返回当前VI前面板引用句柄,再通过这个引用句柄返回前面板控件引用句柄。
“注册事件”节点的用法和属性节点类似,这里设置了3个事件端口。“鼠标移动”事件连接了一个VI引用句柄常数。这个常数可以由前面板把VI引用句柄控件拖到程序框图中产生。在这里只是定义一个事件类型,并没有实际注册事件。另外LabVIEW 8.2不再支持事件源为通用VI引用的鼠标移动这个事件,这里由于我们只想说明动态注册事件,所以直接将例子复制过来,未做修改。“鼠标按下”和“鼠标释放”事件连接了Picture控件引用句柄,所以注册了两个关于鼠标在扑克牌上动作的事件。除非是修改事件注珊,“事件注册引用句柄”参数不必连接。
处理动态注册事件一般需要以下4个步骤:
(1)取得生成事件MBR3090PT的那个对象的VI Server引用。
(2)连接VI Server引用到注册事件节点进行对象的事件注册。
(3)将事件结构放在一个While循环中处理事件。
(4)用取消事件注册函数停止事件发生。
下面通过一个LabVIEW自带的例子Dynamically Register for Events介绍以上的过程和一些事件函数的用法。本书对这个例子稍微做一下修改,并重命名为“动态注册事件”。图2-18是这个程序的前面板。
运行这个程序后,如果在前面板的扑克牌图片上单击,并按住鼠标左键,就可以拖动扑克牌移动,同时可以看到循环数在增加;在前面板其他位置无论鼠标怎样移动,循环数都不变,说明程序在等待事件发生。要实现这种效果,显然要对事件注册随时修改,即鼠标在扑克牌上按下时注册一个事件,释放时注册另一个事件。
图2-19是上述程序的框图。“当前VI路径”函数为“打开VI引用”函数输入“VI路径”参数。“打开VI引用”函数打开当前VI的引用。后面两个属性节点先返回当前VI前面板引用句柄,再通过这个引用句柄返回前面板控件引用句柄。
“注册事件”节点的用法和属性节点类似,这里设置了3个事件端口。“鼠标移动”事件连接了一个VI引用句柄常数。这个常数可以由前面板把VI引用句柄控件拖到程序框图中产生。在这里只是定义一个事件类型,并没有实际注册事件。另外LabVIEW 8.2不再支持事件源为通用VI引用的鼠标移动这个事件,这里由于我们只想说明动态注册事件,所以直接将例子复制过来,未做修改。“鼠标按下”和“鼠标释放”事件连接了Picture控件引用句柄,所以注册了两个关于鼠标在扑克牌上动作的事件。除非是修改事件注珊,“事件注册引用句柄”参数不必连接。
上一篇:动态注册事件
上一篇:动态注册事件的子框图
热门点击
- 12C总线具有如下基本特征
- 8031对外部ROM/RAM的连接
- 单片机的分类
- 特殊功能寄存器
- 无条件绝对转移指令
- 自动打开DataSocket Server
- 二次熔锡问题
- 单分支结构
- 带符号数表示
- 慢速冷却与快速冷却速率温度曲线参数比较
推荐技术资料
- 自制智能型ICL7135
- 表头使ff11CL7135作为ADC,ICL7135是... [详细]