新聞中心

Tree控件的使用

作者: 時(shí)間:2017-01-09 來源:網(wǎng)絡(luò) 收藏



圖 6 Edit Tree Items對(duì)話框

1.2Tree控件對(duì)應(yīng)的事件

本文引用地址:http://m.butianyuan.cn/article/201701/337511.htm

在背面板上放置一個(gè)事件結(jié)構(gòu),并且選擇Tree控件,可以看到其對(duì)應(yīng)的所有事件,如圖 7所示。本節(jié)只介紹一些特殊的Tree事件。


圖 7 Tree控件的事件

  • Edit Cell事件

該事件與multicolum listbox中的Edit Cell事件一樣,當(dāng)用戶編輯控件中的內(nèi)容時(shí)被觸發(fā)。分為Edit Cell消息型事件和Edit Cell?過濾型事件,后者可以根據(jù)程序員的設(shè)計(jì)取消掉該事件。
如程序運(yùn)行時(shí)只允許用戶修改Tree控件第1列的值,而不允許修改其他列的值。可以使用Edit Cell?過濾型事件實(shí)現(xiàn)該功能,具體如圖 8所示。要允許用戶在程序運(yùn)行時(shí)編輯Tree控件的值需要首先勾選Tree控件右鍵快捷菜單中的Editable Cells菜單項(xiàng),然后運(yùn)行該程序,在需要修改的單元格中單擊并輸入響應(yīng)的字符??梢钥闯龀诵薷牡?列的值以外,對(duì)其它列的修改都不會(huì)成功。
也可以把本例延伸一下,比如只允許用戶輸入特定的字符串(大寫字母,數(shù)字等),應(yīng)該如何處理呢?


圖 8 Tree控件的Edit Cell?過濾型事件

  • Double Click事件

從名稱可以看出,該事件在用戶雙擊Tree控件時(shí)被觸發(fā),如圖 9所示。圖中事件數(shù)據(jù)節(jié)點(diǎn)中的Tag表示用戶雙擊了哪一行,但是是否有一種方式明確了用戶到底雙擊了Tree控件中的哪一個(gè)區(qū)域呢,具體為哪一行哪一列呢?顯然左側(cè)的Coords表示雙擊的坐標(biāo)值,我們可以通過Tree控件的“Point To Row Column”方法(Create→Invoke Node)將Coords坐標(biāo)值轉(zhuǎn)化為具體的行和列值。此外,如何表示用戶雙擊了Tree控件的行頭和列頭呢?具體可以參考LabVIEW中關(guān)于“Point To Row Column”方法的幫助文檔。



圖 9 Tree控件的Double Click過濾型事件

  • Item Close和Item Open事件

這兩個(gè)事件是對(duì)立的,分別具有一個(gè)消息型事件和一個(gè)過濾型事件。它們是在用戶展開或收縮某一個(gè)父層次項(xiàng)時(shí)被觸發(fā)的,如上述Tree控件中的第2行,當(dāng)展開或收縮該行時(shí)會(huì)觸發(fā)該事件(可以通過單擊該行左側(cè)的“+”和“—”符號(hào)或者雙擊該行實(shí)現(xiàn)展開和收縮操作)。
如果不希望用戶收縮Tree控件的第2行,可以使用如圖 10所示的代碼。運(yùn)行該VI,可以看出,無論用戶如何單擊Tree控件第2行左側(cè)的“—”符號(hào),都不會(huì)收縮該行。


圖 10 Tree控件的Item Close過濾型事件

1.3Tree控件對(duì)應(yīng)的屬性

Tree控件的屬性眾多,如圖 11所示,主要是為了動(dòng)態(tài)地改變Tree控件的屬性(利用程序修改)。絕大部分的屬性與multicolum listbox類似,本節(jié)只介紹幾個(gè)典型的屬性節(jié)點(diǎn),重在說明Tree屬性節(jié)點(diǎn)的使用方法。



關(guān)鍵詞: Tree控件LabVIE

評(píng)論


技術(shù)專區(qū)

關(guān)閉