欢迎光临散文网 会员登陆 & 注册

LabVIEW FPGA番外篇:利用VIPM第三方工具包轻松实现托盘程序和气泡通知

2021-07-31 23:16 作者:神电测控  | 我要投稿

        在我们日常使用的很多软件里面都有一个托盘图标,那就是桌面上的窗口关闭之后,右下角的任务栏里面会出现一个小图标,那就是托盘图标。比如大家经常使用的QQ、微信、旺旺、向日葵等等。托盘的好处在于,当我们不需要主程序占据当前窗口,而使其在后台自动待机或者运行时,使其变成一个小小的气泡图标,当有新的消息或者中断触发时,任务栏里面会自动弹出一个气泡提示通知,或者人为右击这个托盘图标出现一个菜单,然后直接选择对应的功能即可,比如QQ上线、离线、退出等类似这样的功能。

        由于托盘程序在日常的消费类应用软件是个标配,而大家平时使用LabVIEW开发的exe程序,经常会忽略这一点。如果用户希望自己编写的LabVIEW API应用程序也具备这样的托盘功能,该怎么编写呢?

        看过陈树学写的《LabVIEW宝典》这本书的用户,可以看到里面有一节讲到了怎么使用.net来表写一个托盘程序,但是里面的demo太简单了,而且展示度不够,不是很专业。

        今天我们给用户介绍的是国外一家名为Averna公司开发的第三方VIPM工具包,那就是“Notification Icon”,大家可以在VIPM软件里面搜索这个工具包,然后选中安装到LabVIEW里面即可,如图1所示。

图1:Averna科技公司开发的通用型托盘气泡通知工具包

        安装完成,点击左侧的“Show Example”按钮,即可打开官方提供的托盘气泡演示Demo程序,如图2所示。对应的程序框图也不复杂,如图3所示。

图2:托盘气泡通知Demo程序前面板
图3:托盘气泡通知Demo程序框图

        这个Demo写的非常好,面面俱到,人际交互做的也很好,相比《LabVIEW宝典》里面的抛砖引玉,Averna公司这个Demo要更加贴近实际应用,并且功能更完善。

        直接运行这个Demo程序,可以看到右下角任务栏里面立刻出现了一个新的托盘小图标,如图4所示。当然,用户也可以直接将这些icon替换程序自己的应用软件图标。

图4:Averna公司新的图标出现在了任务栏的托盘里面

        如果,我们点击一下“Display Icon”下拉列表选择另外一个旧的图标,此时,右下角的图标会立刻切换,如图5所示。那么大家肯定想到了,我们的QQ上线和离线出现的不同小图标,其实本身就是两个不一样的icon罢了,如果想要什么时候显示哪个icon,直接在程序里面切换即可,对应的LabVIEW程序框图也很简单,直接赋值不同的index图标索引即可,如图6所示。

  

图5:可以自由切换不同的托盘图标样式
图6:可以自由切换不同的托盘图标对应的LabVIEW程序框图

        接下来,我们可以演示一下怎么让任务栏里面的托盘图标上出现一个提示框,提醒用户当前程序发生的事情。当我们的LabVIEW应用程序产生一个警告,比如,采集卡DAQ读取数据发送超时,或者数据流盘保存时没有选择正确的文件时,点击前面板上的“Show Balloon”按钮,此时,右下角的托盘气泡图标上就出现一个提示框,如图7所示。实际应用中,肯定是通过程序来自动触发产生的,对应的程序框图如图8所示。

图7:当某个事件发生时让托盘气泡图标产生一个通知提示框
图8:让托盘气泡图标产生一个通知提示框对应的LabVIEW程序框图(很简单)

        如果,我们将通知类型选择为“Error”错误时,并修改一下提示框的名称和内容,点击“Show Balloon”按钮时,可以看到右下角的托盘气泡通知图标相应的发生了变化,如图9所示,由原先的三角形黄色警告logo变成了红色的×错误标志。

图9:用户可以根据实际情况产生不同级别的警告或者错误提醒信息和Logo

        最后,我们再来演示一下类似右击QQ托盘图标出现的菜单栏功能。右击任务栏里面的Demo气泡图标,出现一个含有3个选项的菜单栏,选择其中的“Open”,此时上位机立刻出现一个名为“Open”的对话框,说明这个指令操作生效了,如图10所示。对应的LabVIEW实现方式其实就是前面初始化的话,注册了一个用户事件,用来响应任务栏里面的托盘气泡菜单的,如图11所示。

图10:右击任务栏里面的Demo托盘气泡图标选择菜单执行命令
图11:托盘气泡图标菜单命令执行对应的LabVIEW程序框图(用户事件)

        当然,所有的托盘程序都有一个必备的技能,那就是不用打开主程序,直接右击托盘气泡图标,选择“Exit”、“退出”或者“关闭”即可将该应用程序关掉,如图12所示,对应的LabVIEW程序框图也很简单,就是直接将这个LabVIEW VI应用程序退出关闭掉即可,如图13所示。

图12:右击托盘气泡图标选择菜单项里面的“退出”功能关闭LabVIEW应用程序
图13:响应“退出”菜单命令对应的LabVIEW程序框图对应的代码


LabVIEW FPGA番外篇:利用VIPM第三方工具包轻松实现托盘程序和气泡通知的评论 (共 条)

分享到微博请遵守国家法律