【喂饭】MVA-S04 Labview顶级框架 MVA子面板弹窗与动态启动
导语:
MVA-S03中,我们学会如何对事件的过滤重写。本章将进行弹窗与动态启动的学习。很多人会疑惑,弹窗谁不会啊,为啥要做封装。如果是这样呢?一个通用的配置式弹窗
一个可以反馈用户点击情况,并自动触发点击后事件的弹窗
一个可以自定义界面与回复数据的弹窗
而这些,MVA框架已经全部封装内置,我们来看看如何使用吧。
📑 文章目录
🔹 1. 创建单按钮弹窗与确认用户点击时间
🔹 2. 创建双按钮弹窗与数字弹窗数据回传
🔹 3. 动态调用如何进行呢?进行自定义弹窗设计
🔹 4. 总结
1. 创建单按钮弹窗与确认用户点击时间
本章函数面板:

1.1 打开自己写的MVA-S03MVA子面板切换项目,也可以公众号私信 [MVA] 自动获取。新建虚拟文件夹MVA-S04 弹窗与动态启动

1.2 新建操作者DialogTest_Viewabl,重写Actor Core,界面放置一个用来触发弹窗的按钮,一个放置用来确认客户已经点击的文本框。


1.3 重写接受值改变事件,当按钮按下时,使用启动单按钮对话框。我们可以选择是否强制在前面,必须点击确认才能进行其他操作。


1.4 好的,写完了。上下双子面板里面,我们增加一个按钮来加载刚刚新写的的View。


1.5我们复制S03最新的树文件Launcher进行修改,将DialogTest_Viewable放到选择器里,进行启动


1.6 我们如何可以知道用户什么时候点击了OK呢,这里我们可以注册当用户点击OK之后,会运行的vi。首先创建一个静态vi,Receive UserOneButton OK.vi。创建消息,放到到虚拟Message文件夹中,养成好习惯。


1.7 把刚刚创建的消息给到启动单按钮对话框。

1.8 再次运行Launcher看看效果


2. 创建双按钮弹窗与数字弹窗数据回传
2.1我们在DialogTest_Viewable的Actor Core上增加双按钮与文本框


2.2 双按钮和单按钮不同的就是有两个消息类输入口,很容易理解 。我们可以建立两个静态vi,来接受用户点击后处理的事件,生成消息类给到接口。




2.3 运行查看效果



2.4 继续在Actor核心增加数值按钮以及文本,来接受用户的输入。


2.5 在当值改变时,调用数字键盘对话框。数字键盘对话框和弹窗不同,只有弹窗名称和Replay Transport。



这个Transport是一个数据传输接口类。定义了一个方法Write Data。当用户点击按钮的时候,就会自动执行这个Write Data方法。我们想要数据能够传输回来,需要新建一个普通类去继承Transport类,并进行重写。
2.6 我们新建一个Transport库,在库中新建Transport类,想重写事件过滤一样的方式。


2.7 我们进行重写Write Data之前,先在私有数据里放置字符串引用,用来进行赋值,并开放写入读取vi。

2.8 回到DialogTest_Viewable的值改变事件,完善调用。

2.9 运行查看效果。


3. 动态调用如何进行呢?进行自定义弹窗设计
3.1 看到KeyDialog这个案例,很容易就可以想到,我们可以进行模仿,把我们的Viewable改成Dialog用来调用,当然也可以直接写一个Dialog。为了方便,我们直接把DialogTest_Viewable修复继承关系,继承到DialoxBox下

3.2 新建一个静态vi,Launch DialogTest Box.vi,用来加载DialogTest_Viewable

3.3 前面板放置一个按钮,Dialog,用来加载自定义DialogBox,这里不过我们调用的就是自身。


3.4 注册前面板关闭事件,前面板关闭的时候,退出自身,否则弹窗出来关闭前面板不会退出。

3.5 运行

3.6 还有一些其他的动态调用的方法,比如查看ViewManager是如何调用Viewable的可以学习。感兴趣的可交流。
4. 总结
MVA-S04主要是了解弹窗机制的编写方式。了解封装Viewable的妙处。慢慢体会面对对象编程对于业务逻辑的封装。我们下期见。
试读已结束,解锁完整内容与工程源码
本文包含 LabVIEW MVA 框架完整实战源码包、架构逻辑导图与核心技术细节。升级会员即可解锁全站 VIP 专栏!
觉得文章不错?点个赞支持一下博主吧!


💬 极客讨论区 (0)
欢迎发表技术见解、解耦思路或留言交流
还没有人发表评论,快来抢占沙发吧!