LabVIEW的Framework(3):在GUI程序里使用消息队列

本文介绍了如何使用LabVIEW的Queued Message Handler模板创建一个GUI程序,模拟设置对话框,包含OK、Apply和Cancel三个按钮。通过事件结构和消息队列,实现了按钮操作的逻辑处理,如Apply Changes和Exit功能。这种消息队列方法有助于减少代码重复,提高代码复用性,尤其在处理界面相关操作时,相比subVI提供了更灵活的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    使用LabVIEW的Framework模板Queued Message Handler新建一个vi,如下图:

    这就是一个消息队列处理器。在while循环里的shift register就是用来存放消息的队列,也就是一个字符串数组,其中的每一个字符串就是一条消息。每循环一次,就从消息队列里取出一条消息,然后通过case结构进行处理。需要注意的是,取出消息使用的是Delete From Array,最后放入队列的消息最先得到处理。
    现在我们来改造一下这个结构,把它做成一个GUI程序。现在前面板放置三个Button:OK、Apply、Cancel。这个程序我们用来模拟一个设置对话框,这三个按钮是一个设置对话框中标准配置。Apply用来保存设置,OK在保存设置后退出对话框,Cancel则不保存设置直接退出对话框。

    在后面板,在No Event这一页中,放入一个Event Structure,然后分别为前面放置三个Button添加Event。注意在OK里添加的两条消息的顺序,原因前面说了。然后,在case结构里再添加Apply Changes和Exit两个分支。


一、消息处理中的主要概念 “消息”是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。 消息被发送到队列中。“消息队列”是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。 “消息队列”是 Microsoft 的消息处理技术,它在任何安装了 Microsoft Windows 的计算机组合中,为任何应用程序提供消息处理和消息队列功能,无论这些计算机是否在同一个网络上或者是否同时联机。 “消息队列网络”是能够相互间来回发送消息的任何一组计算机。网络中的不同计算机在确保消息顺利处理的过程中扮演不同的角色。它们中有些提供路由信息以确定如何发送消息,有些保存整个网络的重要信息,而有些只是发送和接收消息。 “消息队列”安装期间,管理员确定哪些服务器可以互相通信,并设置特定服务器的特殊角色。构成此“消息队列”网络的计算机称为“站点”,它们之间通过“站点链接”相互连接。每个站点链接都有一个关联的“开销”,它由管理员确定,指示了经过此站点链接传递消息的频率。 “消息队列”管理员还在网络中设置一台或多台作为“路由服务器”的计算机。路由服务器查看各站点链接的开销,确定经过多个站点传递消息的最快和最有效的方法,以此决定如何传递消息。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值