静态事件:

事件结构的优点是减少GPU占用率,响应及时,采用队列方式避免了漏掉事件。事件结构一般仅适用于GUI和用户接口界面,子VI中很少使用。
事件结构主要用于用户界面的编程,事件结构同时也是一种非常有效的交换数据的方法。
回调函数与事件结构的作用机理:LabVIEW的事件结构,就是图形化的回调函数结构。
LabVIEW静态事件的分类:
image.png
用户界面事件有两种类型:通知事件(事后事件)和过滤事件(事前事件)。

事件结构的组成:

事件结构中的“超时端子”的理解:每隔n(ms)自动执行超时分支里面的代码
image.png

对于耗时事件的处理通常加延时:

image.png

事件结构停止按钮最佳处理方法是放于结构内:

image.png

大小写字符的输入直接转换:

image.png

用户事件和动态注册事件

通过用户自定义的事件,可以在不同的线程中传递数据。用户事件主要用于不同线程之间交换数据。由于鼠标移动一类的事件是连续发送的,所以很容易发示消息阻塞,造成CPU的占用率显著提高,使用动态注册事件的方法可以有效地减少发送消息的数量。

“创建用户事件”函数:定义了用户事件消息的类型,返回用户事件严格数据类型引用句柄。输入数据类型为簇,使用用户事件的关键是定义簇的数据形式。
1.简单用户事件:
使用用户事件的基本步骤:创建用户事件—注册用户事件—产生、处理用户事件—取消注册用户事件—销毁用户事件。一一对应,先创建再注册,最后先取消注册再销毁,类似于谈恋爱先确定关系,然后去注册领证,然后产生甜蜜的婚后生活,可是终有散伙的,这时候先去办离婚证,再销毁以前的所有。
例子:通过一个线程产生数据,通过用户事件发送该数据。接收数据线程响应用户事件,接收数据并显示。通过用户事件,实现在两个不同线程中交换数据。
产生事件后,会自动在事件结构中监测出来,将数据输送出去。
image.png
2.用户事件动作机:
例子:动作机模拟Windows消息发送机制。
1)创建严格数据类型,定义不同消息。