LabVIEW程序设计模式(三)—用户界面事件模式
- 程序一直在占用CPU资源。
- 无法响应更多的前面板事件。
在LabVIEW中事件结构的使用并不是一件难事,根据事件的发出源,事件可以抽象地分为用户界面事件和用户自定义事件。相关的基本知识可以参考有关的书籍,这里不再阐述事件结构的使用方法。
图 14所示的结构称为用户界面事件模式,它能够很便捷地响应各种事件并且不占用CPU的资源,这是由LabVIEW中事件结构本身的特性决定的。

图 14 用户界面事件模式
【应用3】
本例要模拟一个简单的画图板功能。它有4个功能选项:点(point)、线(line)、圆(circle)和椭圆(oval),一次完成的绘画过程是:在画布上单击鼠标开始绘制→按住鼠标的同时在画布上拖动鼠标→在画布上放开鼠标结束绘制。
程序的前面板如图 15所示,由上下两大部分组成。上面用于选择需要画图的样式,下面是画布,右上方的X表示程序的结束。
图 15 画图板前面板
由于系统需要响应鼠标在画布上单击、移动和释放事件,因此使用状态机模式是无法解决的,只能通过事件结构。因此本例将使用用户界面事件模式实现上述的画图板功能。
程序的背面板如图 16所示。共有4个事件。
- Panel Close?:响应前面板的X动作,这是一个过滤性事件,当事件发生时并不真正关闭前面板而只是停止程序的运行。
- Picture
:表示绘画的开始。 - Picture
:表示绘画的路径和轨迹。 - Picture
:表示绘画的结束,此时一定要加入 事件,因为当鼠标移动到画布的外面时就可以认为是绘画结束了,并不需要一定要求鼠标在画布中释放。

图 16 画图板背面板
Picture
评论