這篇文章主要是討論如何用程式來排列面板上的控制元件
幾乎所有入門書上都有寫要如何排列對齊元件,但只限於直線對齊。若要將控制元件排列成圓形、弧形或是其他曲線時要怎麼辦呢?
這個問題之前有許多人問過,大多數人是用目視的方法排列,不要求位置精準時這樣就可以了。若要求位置精準時怎麼辦呢?可以利用元件屬性以程式排列,在程式執行完畢後再把這段程式刪除即可
這個方法的好處是位置精準,只要程式能寫出的曲線圖形元件就能按照那曲線排列
以下範例示範如何用程式將LED元件排列成正圓形:
1.先將要排列的元件放到面板上,這裡放上12個LED元件
2.在程式區的LED元件上按滑鼠右鍵,從跳出的選單中點選Property Node,自動產生LED元件的Property Node屬性控制項,出現的是預設值為Visible的物件
3.要用的控制項當然不是Visible,要改變成要用的控制項
在Property Node屬性控制項的Visible上按滑鼠左鍵,從選單中選Position的All Elements那一項屬性。那項屬性是用來輸出元件的位置座標,座標值是以面板上左上角的定位標記為0點
4.程式裡是要改變元件的座標位置,所以要把Position的All Elements屬性從輸出改變成輸入
在Position那個控制項上按滑鼠右鍵,從跳出的選單中點選Change To Write那一項,就可以把Position那個控制項改變成輸入狀態
5.用同樣的方法把其他LED元件的Position那個控制項全都處理好
6.再來寫程式產生需要的座標點資料,因為只有12個LED元件,所以這裡的程式只需要產生12個點為輪廓的圓形座標資料
7.把產生的點座標資料分配給所有LED元件的Position控制項,完成程式
8.執行程式,可以看到12個LED元件排列成漂亮的圓形
9.執行過後程式已功成身退,可以刪除了
LED元件若怕相對位置跑掉可以全選再群組在一起