1. 程式人生 > >delphi xe 之路(14)使用FireMonkeyStyle(一共30篇)

delphi xe 之路(14)使用FireMonkeyStyle(一共30篇)

彈出 點擊 有一個 net 控件 art .net 查看 apply

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篇)