Delphi XE5 如何設計並使用FireMonkeyStyle(轉)


如何設計並使用FireMonkeyStyle

 

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。

                       

 

 

 

  1. 在窗體上放一個TListBox組件,將它拖放到窗體上,Name為ListBox1。

 

 

設置ListBox1的Align屬性為alClient,

並右擊ListBox1,在彈出的菜單中選中Items Editor…

 

點擊Add Item按鈕,會在ListBox1上面添加一個TListBoxItem,

 

  1. 雙擊StyleBook1,IDE會進入到Style Designer模式:

 

  1. 設計Style,首先在組件面板(Tool Palette)中選擇一個TLayout組件(Layouts分類),拖動到左上角,

 

這時候結構視圖顯示如下:

 

在屬性查看器中設置Layout的StyleName為defaultitemstyle:

 

然后我們在Layout下添加一個TRectangle做為背景:

 

將這個Rectangle的顏色設置為紅色,也就是將它的Fill.Color設置為Red,並將Rectangle的Layout屬性設置為alClient:

 

  1. 按一下FireMonkey Style Designer ToolBar上面的Apply and Close按鈕,好了,一個名為defaultitemstyle的Style已經設計完成了。
  2. 然后選中我們之前添加的ListBoxItem1,在屬性查看器中的StyleLookup屬性值更改為defaultitemstyle。

看,這個ListBoxItem已經顯示成我們設計的Style了(一個紅色的矩形):

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM