?功能說明:調用這個VI的上層VI在調整好界面后,一定要將前面板的最小尺寸設置為當前前面板大小,如下圖所示:
方法是調整前面板為需要大小,然后通過"文件">>"VI屬性">>"窗口大小",也可以直接CTRL+I再選擇“窗口大小”,點擊“設置為當前前面板大小”即可,
至于下一個“在不同分辨率下保持窗口比例”的選項,試過不勾選也不會出什么問題,以防萬一,還是勾選上了。最后點擊確定完成。
使用時直接將這個子VI放入到需要顯示前面板的程序的后面板中即可(即直接調用)。如果A調用B,B再調用這個程序時,只對B起作用,如果需要對A也起作用
需要在B的后面板也加入這個程序。
這個VI只有錯誤輸入輸出,也可以不連接。?
LabVIEW中,在不同的分辨率下或在窗口放大時會帶來前面板嚴重變形的缺點一直都存在,雖然在VI的屬性中可以設置“在不同的分辨率下保持窗口比例”和“窗口縮放時保持所有控件比例”這二個選項,但實踐證明這二個選項并沒有多大意義,僅僅這樣設置的話前面板一樣會變形,目前一般有二種方案解決,一個是在安裝手冊中規(guī)定用戶只能在指定分辨率下進行安裝使用,這一條似乎太過霸道,而且給人不夠專業(yè)的感覺;另一個做法是通過API取得屏幕的分辨率,然后又有二種做法,一種是在打開程序時判斷當前分辨率是否為合適的分辨率,如果不是則同樣通過API設置屏幕的分辨率為自己指定的分辨率,在程序退出時再將分辨率設置回來;一種是取得當前的分辨率后,在程序中根據(jù)當前的分辨率大小重新設置前面板的大小。
? ?? ? 后面的方法都沒有試過,最后一種方法感覺效果會好一點,但比較麻煩,因為一個程序中顯示的界面肯定不止一個的,這就需要對每一個用戶能看到的界面在每一種分辨率下進行設置并測試,工作量比較大。
? ?? ? 前陣子在對這個問題調試時突然發(fā)現(xiàn)修改分辨率后,如果有在VI屬性的窗口大小中設置界面的最小尺寸,則雖然窗口不是我們設置的大小,但如果鼠標拖動界面右下角進行縮放時,界面一下子就自動跳回理想的大小了,由此想到可能是窗口的最小尺寸起了作用,想到編程來設置的話也許能起到一定的效果,馬上寫了個程序,在自己機子上運行后真的可以自適應分辨率的變化,生成EXE后也沒有發(fā)現(xiàn)什么問題。
但后來多試了幾臺機,似乎發(fā)現(xiàn)在個別機子上會失效的情況出現(xiàn),但概率不大,具體原因不明。不管怎么樣,至少方法簡單一點,也許對大家有點幫助,附件中有對應的源程序和生成的EXE,希望大家下載在自己機子上試用后可以將試用的結果告之一下,謝謝
不知道那些大公司是怎么樣解決這個問題的?NI也不想個辦法解決一下這些問題...
主要思路,在屏幕分辨率改變后,根據(jù)原來設置的最小尺寸再次將前面板設置為最小(最佳)的尺寸。?
調用這個VI的上層VI在調整好界面后,一定要將前面板的最小尺寸設置為當前前面板大小,如下圖所示
方法是先調整前面板為需要大小(理想大小),然后通過"文件">>"VI屬性">>"窗口大小",也可以直接CTRL+I再選擇“窗口大小”,點擊“設置為當前前面板大小”即可。
至于下一個“在不同分辨率下保持窗口比例”的選項,試過不勾選也不會出什么問題,以防萬一,還是勾選上了。最后點擊確定完成。
使用時直接將這個子VI放入到需要顯示前面板的程序的后面板中即可(即直接調用)。如果A調用B,B再調用這個程序時,只對B起作用,如果需要對A也起作用,需要在B的后面板也加入這個程序。
這個VI只有錯誤輸入輸出,也可以不連接。
程序為8.2寫的,在8.2中生成的EXE。如果只有8.5的RUNTIME需要自己在8.5在重新生成一個EXE,附件中包括了源程序。
使用方法:R
1,運行可執(zhí)行文件下面的“自適應屏幕分辨率測試(8.2).exe”,程序會顯示一個波形圖、一個表格和二個按鈕,其中波形圖和表格控件主要是為了更容易識別界面是否變形,如果你的分辨率沒有跟我機子上的一致時看到的是變形的界面,此時可以點擊“自適應分辨率”按鈕,界面會自動調整到最佳狀態(tài);
2,程序運行時修改顯示器分辨率,修改后界面發(fā)生變化,如果分辨率是從小變到大的話則窗口變大,會有多余的界面顯示出來,反之,分辨率從大變到小時窗口中的波形圖和表格會有部分不可見;
3,此時點擊“自適應分辨率”按鈕,界面會自動調整到最佳狀態(tài);
4,更換為其它分辨率重復2-3步,得到最終的結果。