delphi xe 之路(14)使用FireMonkeyStyle(一共30篇)
FireMonkey使用Style來控制控件的顯示方式。
每個控件都有一個StyleLookup屬性,FireMonkey就是通過控件的這個屬性來在當前窗體的StyleBook控件中查找匹配的Style,如果找到了這個Style,那麽控件就使用這個Style來顯示。
StyleBook是一個Style的集合,裏面可以有窗體的Style,按鈕的Style,文本框的Style,等等。每個Style其實就是一個控件,像常用到的TLayout,TRectangle等等,只是這個控件需要設置它的StyleName。
比如我在StyleBook中設計這樣一個按鈕:
l Layout:TLayout(StyleName設置為“defaultbutton”)
n Rectangle:TRectangle(用來顯示按鈕背景)
u Text:TLabel(用來顯示按鈕標題)
那麽這個Layout就表示了一個名為“defaultbutton”的Style。如果這時候,窗體上放一個Button,然後將它的StyleLookup屬性為“defaultbutton”,FireMonkey就會從當前窗體的StyleBook中遍歷我們設計的所有控件,查找StyleName為Button的StyleLookup屬性值的控件,也就是StyleName為“defaultbutton”的控件,就是我們剛才設計的Layout控件,查找到了之後,就返回一個Layout的克隆,也就是復制一個Layout(它的子控件也會復制進去),然後在Button上顯示出來。
原理就講這些了,下面我用舉個例子來演示一下這些步驟:
這個例子是在TListBoxItm控件上使用我們設計的Style,
1. 在組件面板(Tool Palette)上選擇一個TStyleBook組件,將它拖放到窗體上,Name為StyleBook1,然後將窗體StyleBook屬性設置為StyleBook1。
2. 在窗體上放一個TListBox組件,將它拖放到窗體上,Name為ListBox1。
設置ListBox1的Align屬性為alClient,
並右擊ListBox1,在彈出的菜單中選中Items Editor…
點擊Add Item按鈕,會在ListBox1上面添加一個TListBoxItem,
3. 雙擊StyleBook1,IDE會進入到Style Designer模式:
4. 設計Style,首先在組件面板(Tool Palette)中選擇一個TLayout組件(Layouts分類),拖動到左上角,
這時候結構視圖顯示如下:
在屬性查看器中設置Layout的StyleName為defaultitemstyle:
然後我們在Layout下添加一個TRectangle做為背景:
將這個Rectangle的顏色設置為紅色,也就是將它的Fill.Color設置為Red,並將Rectangle的Layout屬性設置為alClient:
5. 按一下FireMonkey Style Designer ToolBar上面的Apply and Close按鈕,好了,一個名為defaultitemstyle的Style已經設計完成了。
6. 然後選中我們之前添加的ListBoxItem1,在屬性查看器中的StyleLookup屬性值更改為defaultitemstyle。
看,這個ListBoxItem已經顯示成我們設計的Style了(一個紅色的矩形):
http://blog.csdn.net/5201314/article/details/42081509
http://blog.csdn.net/5201314/article/list/1
delphi xe 之路(14)使用FireMonkeyStyle(一共30篇)