問題: 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坐标指定了對話框視窗的位置。
/*******相與枕藉乎舟中,不知東方之既白*******/