在LabVIEW中如何控制对话框窗口的显示位置?



主要软件:
主要软件版本: 8.5.1
主要软件修正版本: 8.5.1
次要软件: N/A

问题: LabVIEW提供了多种实用的VI可以通过弹出窗口实现人机交互(如单按钮对话框、双按钮对话框、三按钮对话框等)。这些窗口默认是从调用他们的VI正中弹出。按照这种默认方式,弹出对话框窗口常常会遮盖住程序VI上的输入控件和显示控件,有时用户对弹出的提示进行正确响应时恰恰需要参考这些控件上的信息。因此,我想知道有没有办法控制这些弹出窗口的显示位置,使其满足应用需求。

解答: 尽管LabVIEW没有提供一个直接的方法控制弹出窗口的位置,但是可以通过下述方式完成同样的功能:
    1. 将弹出对话框VI放置在一个单独的VI中。
    2. 通过VI Server引用和一个属性节点设置该VI的属性为前面板在最前、以透明方式运行、显示在指定位置,并且窗口尽可能小。请参考附件中的例子。
    3. 选择文件»VI属性,从弹出窗口的类别下拉菜单中选择窗口外观,点击Customize...按钮,在弹出窗口的调用时显示前面板如之前未打开则在运行后关闭复选框前打勾。
    4. 保存该VI并且在主程序中调用该VI(就不直接调用弹出对话框VI了)。
附件中的两个VI实现了该功能。DialogXY.vi是一个会弹出双按钮对话框的子VI。Example.vi调用了该子VI,并且通过x和y坐标指定了对话框窗口的位置。

相关链接: KnowledgeBase 3IF9AP0K: Error When Trying to Set the Front Panel Window Bounds Using a Property Node

附件:

DialogXY.vi

Example.vi






报告日期: 09/03/2008
最近更新: 09/22/2008
文档编号: 4P2DRU8Z