位置:51电子网 » 技术资料 » 控制技术

动态注册用户接口事件

发布时间:2014/7/9 18:15:10 访问次数:587

   处理动态注册事件一般需要以下4个步骤:

   (1)取得生成事件的那个对象的VI Server引用。

   (2)连接VI Server引用到注册事件节点进行对象的事件注册。

   (3)将事件结构放在一个While循环中处理事件。

   (4)用取消事件注册函数停止事件发生。

   下面通过一个LabVIEW自带的例子Dynamically Register for Events介绍以上的过程和一些事件函数的用法。SN74LS373DWR本书对这个例子稍微做一下修改,并重命名为“动态注册事件”

   运行这个程序后,如果在前面板的扑克牌图片上单击,并按住鼠标左键,就可以拖动扑克牌移动,同时可以看到循环数在增加;在前面板其他位置无论鼠标怎样移动,循环数都不变,说明程序在等待事件发生。要实现这种效果,显然要对事件注册随时修改,即鼠标在扑克牌上按下时注册一个事件,释放时注册另一个事件。

   “当前VI路径”函数为“打开VI引用”函数输入“VI路

径”参数。“打开VI引用”函数打开当前VI的引用。后面两个属性节点先返回当前VI前面板引用句柄,再通过这个引用句柄返回前面板控件引用句柄。

   “注册事件”节点的用法和属性节点类似,这里设置了3个事件端口。“鼠标移动”事件连接了一个VI引用句柄常数。这个常数可以由前面板把VI引用句柄控件拖到程序框图中产生。在这里只是定义一个事件类型,并没有实际注册事件。另外LabVIEW 8.2不再支持事件源为通用VI引用的鼠标移动这个事件,这里由于我们只想说明动态注册事件,所以直接将例子复制过来,未做修改。“鼠标按下”和“鼠标释放”事件连接了Picture控件引用句柄,所以注册了两个关于鼠标在扑克牌上动作的事件。除非是修改事件注珊,“事件注册引用句柄”参数不必连接。


   处理动态注册事件一般需要以下4个步骤:

   (1)取得生成事件的那个对象的VI Server引用。

   (2)连接VI Server引用到注册事件节点进行对象的事件注册。

   (3)将事件结构放在一个While循环中处理事件。

   (4)用取消事件注册函数停止事件发生。

   下面通过一个LabVIEW自带的例子Dynamically Register for Events介绍以上的过程和一些事件函数的用法。SN74LS373DWR本书对这个例子稍微做一下修改,并重命名为“动态注册事件”

   运行这个程序后,如果在前面板的扑克牌图片上单击,并按住鼠标左键,就可以拖动扑克牌移动,同时可以看到循环数在增加;在前面板其他位置无论鼠标怎样移动,循环数都不变,说明程序在等待事件发生。要实现这种效果,显然要对事件注册随时修改,即鼠标在扑克牌上按下时注册一个事件,释放时注册另一个事件。

   “当前VI路径”函数为“打开VI引用”函数输入“VI路

径”参数。“打开VI引用”函数打开当前VI的引用。后面两个属性节点先返回当前VI前面板引用句柄,再通过这个引用句柄返回前面板控件引用句柄。

   “注册事件”节点的用法和属性节点类似,这里设置了3个事件端口。“鼠标移动”事件连接了一个VI引用句柄常数。这个常数可以由前面板把VI引用句柄控件拖到程序框图中产生。在这里只是定义一个事件类型,并没有实际注册事件。另外LabVIEW 8.2不再支持事件源为通用VI引用的鼠标移动这个事件,这里由于我们只想说明动态注册事件,所以直接将例子复制过来,未做修改。“鼠标按下”和“鼠标释放”事件连接了Picture控件引用句柄,所以注册了两个关于鼠标在扑克牌上动作的事件。除非是修改事件注珊,“事件注册引用句柄”参数不必连接。


相关技术资料
7-9动态注册用户接口事件

热门点击

 

推荐技术资料

自制经典的1875功放
    平时我也经常逛一些音响DIY论坛,发现有很多人喜欢LM... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!