背景
相對於其它如C/C++等高級程式語言,LabVIEW平臺本身已經提供了很多控制項,如數值型控制項、布爾型控制項、字符型控制項及波形顯示等控制項,而且每種控制項在外觀上幾乎都有多種風格顯示,如經典、新式、系統及銀色等風格可供選擇,在對軟體界面要求不高的情況下可以滿足軟體開發者的需求。但是在某些情況下,仍然需要在LabVIEW平臺中開發出「新」的控制項,即自定義控制項。LabVIEW軟體提供了自定義控制項的功能,使軟體開發者能夠編寫出符合行業標準、外觀精美的軟體界面。
LabVIEW中提供了兩種方式的自定義控制項方法,對應了如下兩種自定義控制項類型:
普通方式的自定義控制項:其特點是在LabVIEW開發環境中提供的已有控制項的基礎上,基於控制項原有的屬性和方法,僅通過改變控制項的外觀使其成為個性化的控制項,該類型的自定義控制項保存的文件名後綴為「.ctl」;高級方式的自定義控制項:其特點是自定義的控制項不僅具有個性化的複雜外觀,同時也提供了特殊的屬性和方法來控制控制項的行為,即XControl控制項。
下面通過一個例子演示以普通方式自定義「.ctl」控制項的步驟方法。
自定義「.ctl」控制項的方法
這個例子如下圖所示,左邊部分為LabVIEW內置的一種布爾型按鈕控制項的真、假兩種情況的外觀顯示,右邊部分為自定義後的控制項的外觀顯示情況,下面說明編輯該自定義控制項的詳細操作步驟。
1. 在LabVIEW開發環境中依次選擇菜單:「文件」-->「新建...」,在打開的新建對話框中選擇「自定義控制項」項即可新建一個空白的.ctl文件並打開了控制項編輯器,如下圖所示:
2. 在控制項編輯器中點擊右鍵彈出控制項選板,選擇「經典」-->「布爾」-->「方形按鈕」,將方形按鈕控制項放置到自定義控制項的編輯界面上,該控制項只有2個部件,分別為「名稱標籤」和「布爾按鈕」,可通過菜單中「窗口」-->「部件窗口」查看當前控制項的所有部件;
3. 點擊控制項編輯器工具欄上的工作模式按鈕,切換當前工作模式為「自定義模式」,在控制項類型的下拉列表框中選擇控制項類型為「嚴格自定義類型」;
4. 選中「布爾按鈕」部件,右鍵單擊彈出如圖下圖所示的菜單,在「圖片項」中存在著4幅圖片,分別對應控制項的4種狀態,從左到右依次為假、真、真到假和假到真的狀態。由此可見,我們只要替換這4幅圖片就可以改變控制項在不同狀態下的外觀。一般情況下替換的圖片格式通常選擇為「.png」格式,在不同的圖片類型中,它對背景透明特性有著較好的支持性。對於該例,在右鍵菜單中依次選擇4幅圖片,通過右鍵菜單的「從文件導入...」選項,用準備好的素材替換掉每幅圖片,就可完成自定義控制項的外觀編輯了,然後保存為「.ctl」格式的文件即可。
替換後的4幅圖片項如下圖所示。保存後的控制項文件可以用於任意VI的前面板中,由於該例控制項類型是「嚴格自定義類型」,因此當對該文件進行修改時,它所有的實例都會作對應的修改。因此,當一個項目工程中有多處地方使用了該自定義控制項並需要修改時,這種「嚴格自定義類型」的控制項將會大大節約軟體界面開發的時間。
備註
自定義控制項類型的解釋:自定義控制項有三種類型,分別為「控制項類型」、「自定義類型」和「嚴格自定義類型」,可在控制項編輯器的工具欄「控制項類型」下拉列表框中進行選擇。在VI前面板中使用自定義控制項(.ctl文件)後,LabVIEW會為它創建一個獨立副本的實例。不同的類型約定了自定義控制項實例與保存它們的文件之間的關係。這三種自定義控制項類型的其區別是,對於「控制項類型」,其控制項和實例之間無任何關聯,當改變保存自定義控制項的文件時不會影響VI中自定義控制項實例;對於「自定義類型」,其控制項和實例之間僅僅數據類型是關聯的;而對於「嚴格自定義類型」,其控制項和實例之間不僅數據類型是關聯的,其它一些控制項屬性如顏色等也是關聯的,當改變控制項文件時,它對應的所有實例都將會作出相應的改變。在一個複雜的大型項目開發中,通常將自定義控制項類型定義為「嚴格自定義類型」,其優點是當對該自定義控制項作修改時,只需在.ctl文件作改動,而其對應工程的所有實例都將會自動改變。
歡迎加關注,共同交流。