


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 事件结构阮奇桢 Event Structure 也是一种选择结构,程序根据发生的事件决定执行哪一个页面的程序。此时,LabVIEW 的界面编写与 Visual Basic 的界面程序有些类似。一. 按照产出源来区分事件的种类 按照事件的产生源来区分,LabVIEW有以下几种事件:图1:配置事件 1 应用程序事件(<Application>),这类事件主要反映整个应用程序状态的变化,例如:程序是否关闭,是否超时等。 2 VI事件(<This VI>),这类事件反映当前VI状态的改变。例如:当前VI是否被关闭,是否选择了菜单中的某一项等等。 3 动态事件(Dynamic)
2、,用于处理用户自己定义的或在程序中临时生成的事件。 4 区域事件(Pane)和分割线事件(Splitter)是LabVIEW 8中新添加的特性。LabVIEW 8中,用户可以把一个VI的前面板分割成几份,这两类事件用来处理用户对某个区域或区域分割线的状态的改变。图2:面板上划分区域 5 控件事件(Control)是最常用的一种事件,用于处理某个控件状态的改变。例如,控件值的改变,或者鼠标键盘的操作。打开上述的“edit events”框,只要选定了某一个事件产生源,其相应的所有事件均排列在右侧events框中。有时候,多个事件产生源会对同一个用户操作分别产生相应事件。比如在某一控件上按下鼠标,
3、区域事件和控件事件都会发出鼠标按下(Mouse Down)事件。LabVIEW 按以下规则顺序产生不同的事件:l 键盘相关的事件(Key Down, Key Up, etc.)只在当前选中(Key Focused)的控件上产生;l 鼠标相关的事件(Mouse Down, etc.)按照从外向里的顺序发出。例如,区域的鼠标按下事件先于控件的鼠标按下事件发出;结构的鼠标按下事件先于先于结构内控件的鼠标按下事件发出。l 值改变事件按照从内向外的顺序发出。结构(Cluser)内控件的值改变事件先于结构的值改变事件发出。二. 按照发出时间区分事件的种类 按照事件的发出时间来区分,LabVIEW的事件可分
4、为通知型事件(Notify Event)和过滤型事件(Filter Event)。 通知型事件是在LabVIEW处理完用户操作之后发出的,比如用户利用键盘操作改变了一个字符串,LabVIEW 在改变了该控件的值之后,发出一个值改变(Value Changed)通知型事件,告诉事件结构,控件的值被改变了。如果事件结构内有处理该事件的框架,则程序转去执行该框架。 过滤型事件是在 LabVIEW 处理用户操作之前发出的,并等待相对应的事件框架执行完成之后,LabVIEW 再处理该用户操作。这类事件的名称之后都有一个问号。例如键盘按下?事件(Key Down? Event),当用户处理该事件时,控件的
5、值还没有被改变,因此,用户可以在该事件对应的事件框架内决定是否让 LabVIEW先处理该事件,或改变键盘按下的值之后再让LabVIEW继续处理该事件。 可以明显地看出,过滤型事件比相应的通知型事件要先发出。 当同一VI的程序框图上有多于一个的事件结构时,通知型事件是同时被发往所有的事件结构的,而过滤型事件则是按顺序、依次发往每一个事件结构的。但是,在同一VI上放置多个事件结构是没有必要,而且极易引起错误的。所以应该避免在同一VI上使用多个事件结构。 下面举例说明如何使用通知型事件。我们经常需要使用到这样的字符串控件:控件用于输入电话号码,因此只接收数字和横线,对其他按键不起反应。LabVIEW
6、没有直接提供此种控件,但是它们可以利用通知型事件被方便地实现出来。图3:利用 Key Down? 事件实现电话号码控件 这个例子可以在这里下载:Phone Number Control.vi三. 动态事件 在初始状态下,打开事件配置(Edit Events)对话框,动态事件下的一栏是空的。因为动态事件只有注册过之后才能使用。与事件相关的操作在函数选栏的 Programming -> Dialog & User Interface -> Events 下面。 用于注册事件的节点是事件注册节点(Register For Events)。需要注册某一事件时,先为它的产生者生成一个
7、引用节点,然后将引用节点与事件注册节点的下方区域相连,再选取所需的事件。如下例:图4:注册动态事件 对于当前VI上的控件或区域等类型的事件,一般来说可以在事件结构中静态地被选择,所以不需要再动态注册一遍。但有时,当前VI的程序框图已经过于复杂,我们希望在子 VI 里去处理某些控件的事件。这时就可以把控件的引用传入子 VI,在子 VI 中动态注册所需事件。在子 VI 的事件结构中处理相应的事件。四. 用户自定义的事件 用户自定义的事件是动态事件的一种。用户自定义的事件不基于任何一个LabVIEW对象,它是使用创建用户事件节点(Create User Event)生成出来的。并且,用户可以选择不同的事件数据类型。五. ActiveX控件的事件 ActiveX 控件的事件不能直接被LabVIEW的事件结构所截获。ActiveX 事件需要用注册事件回调 VI 节点(Register Event C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 先富带后富道路课件
- 17小猴子下山 公开课一等奖创新教学设计(2课时)
- 化学企业安全培训总结课件
- 创伤性休克课件教学
- 25 王戎不取道旁李(公开课一等奖创新教案++备课素材)
- 客服工作数据汇报
- 活动流程介绍
- 创业应急安全培训课件
- 景观小品方案汇报
- 妇儿药品用药指导
- 学习提高阅读速度的方法 课件
- 自主移动机器人教学课件第4章 导航规划 2 避障规划和轨迹规划
- GB 31628-2014食品安全国家标准食品添加剂高岭土
- GA/T 1312-2016法庭科学添改文件检验技术规程
- 大学物理实验长测量
- 卫生政策学之政策问题根源分析
- 步进电机及其工作原理-电机的工作原理及特性课件
- 基于CAN通讯的储能变流器并机方案及应用分析报告-培训课件
- 腹直肌分离康复(产后康复课件PPT)
- 聚合物成型的理论基础课件
- 慢性中耳炎的并发症课件
评论
0/150
提交评论