屬性節(jié)點系列-----如何控制裝飾(decorations)
NI 論壇的朋友問我如何隱藏前面板的裝飾圖片,今天詳細分析一下裝飾.
在7.1時代,前后面板都有裝飾模板的,用了8.5只后,突然發(fā)現(xiàn)在框圖的函數(shù)模板中找不到了,后來發(fā)現(xiàn),解決這個問題很簡單,就是直接拖動前面板模板上的裝飾到程序框圖中.
順便說一下如何導入圖片文件的問題.以前面板為例,常規(guī)的方法是利用EDIT菜單中的IMPORT PICTURE TOCLIPBOARD,然后粘貼到前面板或者框圖中.
其實最簡單的辦法是:直接拖動圖片文件到前面板或者框圖中
前面板對象分為控制器(CONTROL)和指示器(INDICATOR),這兩類對象都是攜帶數(shù)據(jù)信息的,裝飾也是LV的一類對象,我們看看它的繼承關系.
Generic(基類)---->GObject(基本對象)---->Decoration(裝飾)--->文本和裝飾
可見,LV把裝飾分成文本和裝飾兩種,所謂文本,就是自由標簽.TOOLS 的A可以在窗口中任意輸入的文字.
既然是繼承于基本對象,當然也就具有基本對象的屬性,比如CLASSID,CLASSNAME,是否可見,顏色,字體等等.問題是裝飾是沒有標簽(名稱)的,因此無法直接生成屬性節(jié)點,也就沒辦法直接對其控制了.
辦法是利用PANEL的屬性節(jié)點逐步分解出裝飾的參考來對其控制.
現(xiàn)在的前面板上有兩個裝飾,首先拖入一幅圖片,然后寫了個自由標簽(蘭色),看看如何分別得到它的參考.
可以看出,前面板上一共有兩個裝飾,TEXT和DECORATION,分別對應文字和圖片,需要注意的是LV自己維護一個次序,我們無法修改,先加入的裝飾在后面,后加入的在前面.
這樣,通過循環(huán)我們就找到了裝飾的參考,通過參考,利用屬性節(jié)點,就可以對裝飾進行操作了.
DECORATION相應的屬性就不貼圖了,比文本少的多.