LabVIEW中自定義控制項(.ctl控制項)的方法

2020-12-13 編碼那些事

背景

相對於其它如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文件作改動,而其對應工程的所有實例都將會自動改變。

歡迎加關注,共同交流。

相關焦點

  • LabVIEW中結構體控制項編程實例
    下面給小夥伴們介紹下LabVIEW中結構體(簇)控制項的編程及使用方法。2、結構體控制項的創建以在前面板上創建一個包含學生信息的結構體控制項為例說明。創建完成後的樣子及程序框圖上對應的數據埠圖標如下圖所示:創建方法:先從控制項模板的「數組、矩陣與簇」子模板中選擇「簇」控制項,將其放在前面板中,這樣就創建了一個結構體控制項的空殼子用以存儲結構體成員變量控制項。然後分別選擇三個控制項拖放到該空殼子中用來存儲學生的姓名、性別及分數,其類型分別為字符串、枚舉及數值型控制項,並分別命名為姓名、性別及分數。
  • 精華帖 | Excel插入控制項(表單控制項和ActiveX控制項)妙招
    Excel宏/代碼的出現,不僅使Excel實現了使用的多樣化,而且還可以讓用戶自定義命令,同時還能讓將某些重複的步驟記錄下來,以實現操作步驟的化繁為簡,給用戶帶來操作便捷的同時,還能提高效率。通常情況下,我們需要在Excel界面插入一些控制項,讓這些控制項指定VBA界面中的代碼,以實現在Excel界面控制VBA代碼(或宏)的運行或停止。但是,在Excel默認界面功能區根本找不到插入控制項命令按鈕,所以我們需要一些技巧來調出需要的控制項命令,本教程以Excel2013為例,介紹兩種添加控制項的技巧,希望對大家有點幫助。
  • Excel 控制項【窗體控制項】和【ActiveX控制項】使用基礎教程
    Excel2010版,單擊「開發工具」選項卡-〉插入-〉表單控制項,就可以找到excel 控制項工具箱。  如果你的Excel選項卡中沒有「開發工具」,參考《顯示excel 開發工具》調出Excel開發工具。  excel 控制項2003版的調出方法是:在工具欄單擊滑鼠右鍵,勾選【窗體】、【控制項工具箱】。
  • Python界面編程之PyQt5基礎控制項介紹,QSlider滑動條控制項使用詳解
    前幾篇內容我們了解了使用Python中PyQt5庫進行GUI程序設計時,常用的幾種控制項類。比如:標籤QLabel(參見盤點界面編程中那些常用控制項,詳解PyQt5中標籤控制項QLabel的使用)單行文本QLineEdit(參見Python界面編程之PyQt常見控制項展示,QLineEdit文本框類使用詳解)多行文本QTextEdit(參見Python界面編程之PyQt常見控制項展示,QTextEdit文本框類使用詳解)按鈕QPushButton(參見Python用PyQt5設計漂亮界面之按鈕類控制項的使用
  • LabVIEW趣味編程之使用圖片控制項實現文字的滾動顯示
    在圖片控制項中每次顯示文字內容前,都要重新計算顯示這些文字需要的矩形區域信息,矩形區域信息包括了大小信息和位置信息,這兒每次計算的矩形大小不變,只是相對位置發生了變化,本例中只是水平位置發生了變化。在移位寄存器中保存上次的矩形區域的左邊位置值,每次循環中向左/右進行步進就可以達到文字的滾動效果。
  • 整理下Labview 的Table表格控制項使用
    1、插入表格:新建一個vi,在前面板(控制項——列表、表格和樹——表格)插入表格控制項,還可以選擇不同的樣式(新式、系統、銀色、經典)。2、屬性:點擊選擇表格,後,右鍵彈出菜單,最下方選擇「屬性」,彈出屬性設置界面,在此我們一般要設置顯示的行列數,水平和垂直的滾動條,行首/列首(相當表格的表頭),控制項的大小。顯示的行列數,一般根據表格的大小和實際要顯示的內容定。插入表格控制項後,拖來邊角,達到界面上合適的位置後,再拖拉表格內部的邊線,來設定表格的大小。
  • NET開發-WebForm中Web控制項是伺服器控制項,按鈕、標籤控制項如何使用
    Web控制項介紹在.NET Web應用程式中,有WebForm和MVC這2種UI框架, 在WebForm中,其控制項分為Web伺服器控制項和HTML控制項(或Web客戶端控制項)。Web伺服器控制項存在System.Web.UI.WebControls名稱空間中。在Visual Studio中,當前頁面是aspx頁面時,會在工具箱中顯示「標準」類別,其中存放的全部是WEB伺服器控制項。
  • VC中Windows系統預定義標準控制項的創建和使用
    引言   本文將要介紹的Windows控制項指的是Windows系統預定義的標準控制項,如按鈕控制項、編輯控制項和列表控制項等。這些預定義控制項實際是一種特殊的子窗口,主要供用戶同應用程式的交互之用。
  • HTML5新增了哪些表單控制項
    1.input控制項類型中的拾色器color<input type="color" name="selcolor">>該控制項主要應用於自定義顏色的一些需求中,用戶可以通過該控制項,自定義色調,達到一種以人為中心的效果。
  • Python界面編程之按鈕類控制項的使用,PyQt5之QPushButton控制項詳解
    盤點界面編程中那些常用控制項,詳解PyQt5中標籤控制項QLabel的使用其實,它是PyQt5中其他按鈕的基類,我們知道的一些具有按鈕功能的控制項基本都是它的派生類(比如:單選框、複選框等)。除了這些,我們可以對按鈕文字格式進行自定義設置(下面這些設置應該在PyQt5中通用的)from PyQt5 import QtGuifrom PyQt5.Qt import QPushButton...
  • Android自定義控制項文字閃光移動效果
    由於要實現文字的閃光移動,自定義控制項直接繼承TextView。在文字上面繪製一個矩形框,矩形框和文件相交處顯示矩形框的顏色,不斷移動矩形框的位置,從而實現閃光不斷移動的效果。public class BlinkTextView extends TextView {……}通常字符串並不會完全填充View,因此需要計算字符串實際所佔區域位置,在onMeasure方法中計算繪製內容的實際區域。
  • ASP.NET2.0的控制項狀態和視圖狀態探討
    ·可靠性 因為控制項狀態不像視圖狀態那樣可以關閉,控制項狀態是管理控制項的狀態的更可靠方法。·通用性 可以編寫自定義適配器來控制如何存儲控制項狀態數據和控制項狀態數據的存儲位置。 使用控制項狀態的缺點:·需要一些編程 雖然 ASP.NET 頁框架為控制項狀態提供了基礎,但是控制項狀態是一個自定義的狀態保持機制。
  • 盤點界面編程中那些常用控制項,詳解PyQt5中標籤控制項QLabel的使用
    PyQt比較受歡迎的地方在於其強大的控制項支持,從本篇開始,我將帶大家詳細了解下PyQt5中的一些常用控制項。喜歡Python編程的小夥伴們關注我,後續會推出一些GUI編程相關內容。歡迎大家關注QLabel控制項是PyQt中一個常用的控制項,它不僅可以作為一個佔位符顯示不可編輯的文本或圖片(展示GIF動畫圖片),還可以被用作提示標記為其他控制項;一些純文本、連結或富文本可以顯示在
  • E圖表述:Excel控制項、二:表單控制項-組合框、列表框
    無論是表單控制項還是ActiveX控制項,作者都認為,組合框和列表框都應該放在一起說。先看一下它們長什麼樣子吧。在用這兩個控制項的過程中,作者覺得這兩個控制項基本沒有什麼區別(尤其是表單控制項)。如果非要說它們倆不一樣的地方,那就是列表框是展開的列表,而組合框是下拉式的列表。
  • (四十七)c#Winform自定義控制項-樹表格(treeGrid)
    前提 入行已經7,8年了,一直想做一套漂亮點的自定義控制項,於是就有了本系列文章。
  • 探索 Android 自定義控制項:基礎圖形
    雷達初始化.png2.6.2 計算圓心在控制項大小發生變化時,onSizeChanged() 會被回調並得到最新的控制項大小,所以我們需要重寫這個方法。Paint 中有一個枚舉類 Align,在 Align 中定義了三種對齊模式:LEFT、CENTER、RIGHT,這三種模式分別代表左對齊,居中對齊和右對齊。
  • Python使用PyQt界面庫繪製不停旋轉的圓控制項
    關於自繪控制項或自定義控制項的編程方法,目前能找到的資料大多是C++語言下Qt的例子,而直接使用PyQt實現的資料很少,這兒給出一個在Python語言中使用PyQt庫自定義不停旋轉的圓控制項的例子。控制項例子說明代碼實現後的控制項運行界面如下圖所示:上圖中顯示了一個不停旋轉的圓,圓內部是藍白顏色交叉顯示的四部分扇形區域,外圈為灰色的圓形帶。
  • ASP.NET 4打造HTML5視頻控制項
    我們一般在開發自己的服務端控制項的時候,會繼承已有的一些服務端控制項並添加一些自己的功能。當開發完服務端控制項後,我們可以在不同的工程中共享這個控制項。一般地,我們會把開發後經過編譯的控制項放在Web控制項庫,跟我們正常的工程分開。當我們要在某個項目中用到該控制項時,只需要簡單的把它拖拉到設計界面中去,就完成了,十分簡單。
  • 窗體控制項不一定必須在窗體中,工作表中添加控制項令VBA更靈活
    大家好,我們今日繼續講解VBA代碼解決方案的第99講內容:在工作表中添加窗體控制項在工作表中添加窗體控制項,除了使用手工添加外,還可以使用代碼添加,方法如下:使用AddFormControl方法在工作表中添加窗體控制項,今日我們講解一個一般常用的應用於Shapes對象的AddFormContl方法創建一個Microsoft Excel
  • Excel表格使用OFFSET函數、控制項、定義名稱製作動態折線圖
    在Excel表格中折線圖可以直觀的顯示數據。但是當數據很多時,折線圖會顯得雜亂無章、並不能直觀的顯示數據。這篇文章為朋友們分享用OFFSET函數、控制項、定義名稱製作動態折線圖。其可以通過控制項控制折線圖,只顯示我們想要的數據。今天我們通過如下圖所示的水果銷量記錄表來一起學習動態折線圖的製作。