資源描述:
《第11章 屬性節(jié)點(diǎn)和方法節(jié)點(diǎn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第11章屬性節(jié)點(diǎn)和方法節(jié)點(diǎn)1引子在面向?qū)ο蟮木幊讨?,我們將類中定義的數(shù)據(jù)稱為屬性,而函數(shù)稱為方法。實(shí)際上,LabVIEW中的控件、VI、甚至應(yīng)用程序都有自己的屬性和方法,譬如一個(gè)數(shù)值控件,它的屬性包括它的文字顏色、背景顏色、Caption和Label等;2本章內(nèi)容11.1屬性節(jié)點(diǎn)(PropertyNode)11.2方法節(jié)點(diǎn)(InvokeNode)11.3通過(guò)子VI調(diào)用控件的屬性和方法11.4幾種常用控件的編程舉例11.5小結(jié)311.1屬性節(jié)點(diǎn)(PropertyNode)屬性節(jié)點(diǎn)可以用來(lái)通過(guò)編程設(shè)置或獲取控件的屬性
2、,譬如在程序運(yùn)行過(guò)程中,我們可以通過(guò)編程設(shè)置數(shù)值控件的背景顏色等屬性。Ring控件的屬性節(jié)點(diǎn)舉例411.1屬性節(jié)點(diǎn)(PropertyNode)舉例通過(guò)Visible屬性控制按鈕是否可見511.1屬性節(jié)點(diǎn)(PropertyNode)舉例在事件結(jié)構(gòu)中使用屬性節(jié)點(diǎn)611.2方法節(jié)點(diǎn)(InvokeNode)方法節(jié)點(diǎn)和屬性節(jié)點(diǎn)非常類似,方法節(jié)點(diǎn)就好比控件的一個(gè)函數(shù),它會(huì)執(zhí)行一定的動(dòng)作,有些時(shí)候還需要輸入?yún)?shù)或返回?cái)?shù)據(jù)。樹形控件的方法節(jié)點(diǎn)函數(shù)菜單及其方法節(jié)點(diǎn)示例711.3通過(guò)子VI調(diào)用控件的屬性和方法一般情況下,將控件作為子
3、VI的輸入端時(shí)只能傳遞控件的值,而不能傳遞控件的屬性。那么如何才能在子VI中調(diào)用上層VI中控件的屬性和方法節(jié)點(diǎn)呢?這就需要使用Refnum控件作為子VI的輸入端子,在調(diào)用時(shí)將控件的Reference與Refnum端子連線即可。811.3通過(guò)子VI調(diào)用控件的屬性和方法通過(guò)子VI調(diào)用控件的屬性節(jié)點(diǎn)示例911.4幾種常用控件的編程舉例11.4.1Ring控件和Enum控件對(duì)于兩種控件,用戶都是一次只能選擇其中一個(gè)項(xiàng)目,控件的輸出值都為數(shù)字。不同的是Ring控件各項(xiàng)目的值是可以任意設(shè)定的,而Enum控件各項(xiàng)目的值一定是從
4、0到n-1(n代表項(xiàng)目個(gè)數(shù)),這是因?yàn)镋num控件才是標(biāo)準(zhǔn)的枚舉類型。Ring控件的項(xiàng)目可以是字符串或是圖片。1011.4幾種常用控件的編程舉例通過(guò)屬性節(jié)點(diǎn)來(lái)設(shè)置Ring控件的選項(xiàng)1111.4幾種常用控件的編程舉例獲取Ring控件或Enum控件的當(dāng)前選中文本1211.4幾種常用控件的編程舉例11.4.2列表框(Listbox)對(duì)于Ring控件和Enum控件,用戶每次只能選擇一個(gè)選項(xiàng)。而通過(guò)列表框用戶每次可以選擇一個(gè)或多個(gè)選項(xiàng),甚至0個(gè)選項(xiàng)通過(guò)編程編輯列表框選項(xiàng)1311.4幾種常用控件的編程舉例讀取列表框選中選項(xiàng)的
5、名稱1411.4幾種常用控件的編程舉例11.4.3樹形控件(TreeControl)通過(guò)編程為樹形控件添加項(xiàng)目必須通過(guò)屬性節(jié)點(diǎn)和方法節(jié)點(diǎn)才能實(shí)現(xiàn)1511.4幾種常用控件的編程舉例通過(guò)編程為樹形控件添加項(xiàng)目1611.4幾種常用控件的編程舉例11.4.4自動(dòng)圖例舉例1711.4幾種常用控件的編程舉例1811.5小結(jié)從本章的例子可以看出,通過(guò)屬性節(jié)點(diǎn)和方法節(jié)點(diǎn)可以讓控件的功能與動(dòng)態(tài)行為更加豐富。在LabVIEW編程中,當(dāng)某種功能很難用普通的VI函數(shù)實(shí)現(xiàn)的時(shí)候,也許通過(guò)屬性節(jié)點(diǎn)和方法節(jié)點(diǎn)就能很輕松地解決。所以若LabVI
6、EW編程者想學(xué)到更多的編程技巧可以更多的去嘗試控件的屬性節(jié)點(diǎn)和方法節(jié)點(diǎn)。19小試身手1.在第6章習(xí)題1的基礎(chǔ)上利用“報(bào)警信息”控件的blinking屬性,實(shí)現(xiàn)在輸出報(bào)警信息的同時(shí)伴隨閃爍,如下圖所示。為了能看到閃爍效果,需要將采樣間隔設(shè)到5秒以上。20小試身手2.本書第156頁(yè)中的圖11.14所示的例子存在bug,for循環(huán)部分應(yīng)該改為下面左圖所示。在此基礎(chǔ)上將for循環(huán)部分封裝為子VI,利用編程生成如下面右圖所示的樹。21