公共屬性
# PinToo 控制元件使用 (公共屬性、方法和事件)
# 1. 屬性(Properties)
屬性 | 適用範圍 | 功能簡述 |
---|---|---|
Action | 一些元件 | 標識與元件連線的活動對像 |
Align | 一些元件 | 確定控制元件在其父元件區域內的對齊方式 |
Anchors | 一些元件 | 指定某個可視控制元件的邊界,隨調整窗體的大小時而改變 |
AutoSize | 一些元件 | 元件是否可以根據其內容確定自己的大小 |
ComponentCount | 所有元件 | 目前元件擁有的元件數目(運行時用) |
ComponentIndex | 所有元件 | 目前元件在父元件列表中的位置(運行時用) |
Components | 所有元件 | 目前元件擁有的子元件陣列(運行時用) |
ControlCount | 所有元件 | 目前元件的自組建數目(運行時用) |
Controls | 所有元件 | 目前元件的子元件陣列(運行時用) |
Enabled | 所有元件 | 指定控制元件是否響應滑鼠、鍵盤和計時器事件。 |
Fill | 一些元件 | 確定用於填充形狀背景的顏色和模式。 |
Height | 所有元件 | 指定控制元件的垂直大小(以畫素為單位)。 |
Hint | 所有元件 | 指定當使用者將滑鼠移到控制元件上時出現的文字字串。 |
HitTest | 所有元件 | 使控制元件能夠捕獲滑鼠事件。 |
Locked | 所有元件 | 指定控制元件在設計時是否鎖定。 |
Margins | 一些元件 | 指定控制元件的頁邊距。 |
Name | 所有元件 | 指定程式碼中引用的元件的名稱。 |
Opacity | 一些元件 | 指定控制元件不透明度。 |
Padding | 一些元件 | 指定控制元件的填充。 |
PopupMenu | 一些元件 | 指定上下文(彈出式)功能表對像 |
Position | 一些元件 | 指定當前控制元件的相對於其父控制元件的左上角。 |
RotationAngle | 一些元件 | 指定控制元件從x軸旋轉的數量(以度為單位)。 |
RotationCenter | 一些元件 | 指定控制元件的軸心點的位置。 |
Scale | 一些元件 | 指定控制元件的規模。 |
Size | 一些元件 | 指定垂直和水平大小(大小。控制元件的高度和大小(以畫素為單位)。 |
Stroke | 一些元件 | 確定用於繪製圖形原語的線條和形狀輪廓的繪圖筆的顏色和模式。 |
Tag | 所有元件 | 將一個NativeInt整數值儲存為元件的一部分。 |
Touch | 所有元件 | 指定與控制元件關聯的觸控管理器元件。 |
Visible | 所有元件 | 指定元件是否顯示在螢幕上。 |
# 1.1. Action屬性
property Action;
標識與元件連線的活動對象,允許應用程式集中響應使用者的命令。當元件與行為相關聯時,行為確定元件的適當屬性和方法。要在設計程式時建立行為,則在窗體或數據模組上放置行為列表元件。雙擊該行為列表,將出現行為列表編輯器,使用功能表新增行為。使用列表編輯器新增的行為將在對像觀察器中的Action屬性的下拉選單中顯示。
- 應用
爲了節省程式碼的編輯量,可使用ActionList元件來編寫程式碼。雙擊fxActionList元件,打開fxActionList1對話方塊,單擊「新增」按鈕。在Action1的OnExecute事件中編寫程式碼。在fxButton1元件屬性中選擇Action1,在單擊fxButton1,都會呼叫Action1的OnExecute事件。
# 1.2. Align屬性
property Align;
使用該屬性可在窗體或面板上將元件排列到頂端、底端、左邊或右邊等多種對齊方式,並且即使窗體、面板或包含元件的大小發生變化,也仍然會保持對齊方式。可以使窗體以某種方式對齊,下面是所選對齊方式的說明。
所選內容 | 說明 |
---|---|
None | 無對齊方式 |
Top | 元件被移到容器的頂端 |
Left | 元件被移到容器的左側 |
Right | 元件被移到容器的右側 |
Bottom | 元件被移到容器的底部 |
MostTop | 元件被移到容器的最頂端 |
MostBottom | 元件被移到容器的最底端 |
MostLeft | 元件被移到容器的最左端 |
MostRight | 元件被移到容器的最右端 |
Client | 使元件填充整個容器 |
Contents | 元件被移到容器的底端 |
Center | 元件被移到容器的底端 |
VertCenter | 元件被移到容器的底端 |
HorzCenter | 元件被移到容器的底端 |
Horizontal | 元件被移到容器的底端 |
Vertical | 元件被移到容器的底端 |
Scale | 元件被移到容器的底端 |
Fit | 元件被移到容器的底端 |
FitLeft | 元件被移到容器的底端 |
FitRight | 元件被移到容器的底端 |
# 1.3. AutoSize屬性
property AutoSize;
說明元件是否可以根據其內容確定自己的大小。將窗體的AutoSize屬性設定為True時,窗體可根據窗體中的內容確定自己的大小,作為該窗體的預設打開的大小。
# 1.4. ComponentCount屬性
property ComponentCount: Integer;
使用該屬性查詢或檢查元件擁有的子元件數,或當Components列表重複執行該元件的一些行為時使用該屬性。該屬性由反覆執行程式內部使用。注意,該元件的ComponentCount包含的專案數與該元件Components屬性列表中的專案數相同。
- 應用 ComponentCount屬性用於確定滾動框所擁有的元件數。在程式中,可以使用該屬性利用循環的方式訪問所有者為滾動框的所有元件。下面的程式碼演示瞭如何訪問滾動框所具有的元件。
var
i: Integer;
begin
fxMemo1.Lines.Add('滾動框中的元件數為:' + IntToStr(fxScrollBox1.ComponentCount));
for i := 0 to fxScrollBox1.ComponentCount - 1 do
begin
fxMemo1.Lines.Add(fxScrollBox1.Components[i].Name);
end;
end;
2
3
4
5
6
7
8
9
# 1.5. ComponentIndex屬性
property ComponentIndex: Integer;
該屬性用於指定元件在其自己的Components屬性陣列中的位置。當重複通過元件的Components列表的擁有者執行某些元件行為時使用該屬性。使用這個屬性可以直接與元件建立聯繫,該熟悉也可以在重複分配過程中內部使用。元件列表中第一個元件的ComponentIndex屬性值為0,第2個元件為1……,當和ComponentIndex一起使用時,ComponentCount屬性的值總是最高的ComponentIndex的值。
# 1.6. Components屬性
property Components[Index: Integer]: TComponent;
使用該屬性可訪問元件內擁有的任何子元件,包含滾動框所擁有的元件。通過該屬性可以訪問到滾動框所擁有的任意一個元件。在介紹ComponentCount屬性及ComponentIndex屬性時,都使用了Components屬性得到相應的元件資訊。Component屬性時一個陣列屬性,包含滾動框所擁有的元件。通過該屬性可以訪問到滾動框所擁有的任意一個元件。在介紹ComponentCount屬性及ComponentIndex屬性時,都使用了Components屬性得到相應的元件資訊。
# 1.7. ControlCount屬性
property ControlCount: Integer;
該屬性用於指定窗體元件的子元件的數量,在重複便利元件的所有子元件時被讀取。元件的所有子元件列在Controls屬性陣列中。該屬性為只讀。
- 應用 ControlCount屬性用於獲得子元件(滾動框中)的數量。在開發程式時,經常需要清空一些文字數據,可以使用該屬性利用循環的方法清空一組數據,程式碼如下:
var
i: Integer;
begin
for i := 0 to fxScrollBox1.ControlCount - 1 do
begin
if fxScrollBox1.Controls[i] is TfxEdit then
TfxEdit(fxScrollBox1.Controls[i]).Text := '';
end;
end;
2
3
4
5
6
7
8
9
# 1.8. Controls屬性
property Controls[Index: Integer]: TControl;
該屬性時一個包含視窗元件的所有子元件的陣列,便於用數字指定視窗元件的子元件。這個屬性便於用數字指定視窗元件的子元件,在重複遍歷視窗元件的所有子元件時將被用到。該屬性列出了元件的所有子元件,而Components屬性列出了元件所擁有的所有元件。所有放置在窗體中的元件為窗體所擁有,因此即使這些元件是窗體中某一元件的子窗體,也會出現在窗體的Components屬性列表中。該屬性為只讀,使用InsertControl或RemoveControl方法也可以增加或刪除子元件。若要從一個父元件中移動子元件到另外的元件中,則設定子元件的Parent,將在原父元件中處理RemoveControl,在新父元件中處理InsertControl。
- 應用 Control屬性用於列舉所有子元件。在開發程式的過程中,當需要訪問一組元件時,如果直接使用元件名稱訪問元件,既不方便也不靈活。可以使用元件父親(Parent)的Controls屬性訪問元件。
# 1.9. Enabled屬性
property Enabled: Boolean read FEnabled write SetEnabled stored EnabledStored nodefault;
指定控制元件是否響應滑鼠,鍵盤和計時器事件。
使用Enabled
可以更改控制元件對使用者的可用性。要禁用控制元件,請將Enabled
設定為False
。一些禁用的控制元件顯示為灰色(例如:按鈕,覈取方塊,標籤),而其他一些(容器控制元件)僅失去其功能而不更改其外觀。
如果Enabled
設定為False
,則控制元件將忽略滑鼠,鍵盤和計時器事件。
要重新啟用控制元件,請將Enabled
設定為True
。
# 1.10. Fill屬性
確定用於填充形狀背景的顏色和模式。
Fill的值是FMX.Graphics.TBrush對象。它可以定義Gradient(漸變),King(筆刷圖案),Color(筆刷顏色),Opacity(不透明度)和其他參數以填充形狀背景。
Fill屬性包含以下子屬性:
- Stroke
- 確定用於繪製圖形基元的線條和形狀輪廓的繪圖筆的顏色和圖案。
- 要自定義輪廓筆,請更改TStrokeBrush對象的
Thickness
,Cap
,Dash
和Join
屬性。
- Gradient
- 指定筆刷的漸變樣式和顏色。
- 漸變屬性指定TBrush對象的漸變樣式和漸變顏色。
- 注意:要正確使用漸變屬性,您必須將Kind屬性設定為
Gradient
(漸變)。
- Kind
- 確定畫筆的模式。
- 使用Kind指定畫筆繪製的圖案。Kind可以有以下內容:
- Bitmap: 筆刷的圖案由外部點陣圖影象定義。
- Gradient:筆刷的圖案是漸變,您可以設定漸變型別和顏色。
- None:畫筆沒有圖案。對象的填充是透明的,並且Color屬性無效。
- Resource:筆刷的圖案是指定的筆刷資源。
- Solid:筆刷的圖案是純色,可以使用Color屬性設定。
- Color
- 指定筆刷的顏色。
- 注意:要正確使用Color屬性,必須將Kind屬性設定為Solid。
# 1.11. Height屬性
指定控制元件的垂直大小(以畫素為單位)。
使用Height屬性讀取或更改控制元件的高度。
# 1.12. Hint屬性
指定當使用者將滑鼠移到控制元件上時出現的文字字串。
# 1.13. HitTest屬性
使控制元件能夠捕獲滑鼠事件。
# 1.14. Locked屬性
指定控制元件在設計時是否鎖定。
# 1.15. Margins屬性
指定控制元件的頁邊距。
Margins(頁邊距)
的控制的從每個邊緣的距離(以畫素為單位)(top(頂部), left(左邊), bottom(底部), right(右側)),以相同的內另一父控制或其父邊緣。 邊距為控制元件的外側增加了空間。
如果邊距不為0,則沒有其他控制元件比指定距離更接近該控制元件。如果從父級邊到相應控制邊的距離小於該邊的指定邊距,則在必要時重新調整控制元件的位置和大小,以保持指定的距離。
下圖顯示了 Padding(填充)
和 Margins(邊距)
屬性如何影響控制元件的對齊方式,位置和大小。
# 1.16. Name屬性
指定程式碼中引用的元件的名稱。
使用名稱更改元件的名稱以反映其在目前應用程式中的用途。預設情況下,IDE根據元件的型別分配順序名稱,如『fxButton1』、『fxButton2』等。
警告:在運行時更改名稱將導致對舊名稱的任何引用變得未定義。任何使用舊名稱的後續程式碼都將導致異常。
# 1.17. Opacity屬性
指定控制元件不透明度。
設定不透明度屬性值可自定義目前控制元件的透明度。
不透明度屬性的取值範圍為0到1。如果不透明度為1,則控制元件完全不透明;否則,控制元件完全不透明。如果為0,則控制元件是完全透明的。大於1的值視為1,小於0的值視為0。
不透明度適用於控制元件的子控制元件。
# 1.18. Padding屬性
指定控制元件的填充。
控制元件的填充指定控制元件的子級可以接近其每個邊緣(上,左,下,右)的程度(以畫素為單位)。填充為控制元件的內側增加了空間。
如有必要,請調整控制元件的子級的位置和大小,以保持Padding。
下圖顯示了 Padding(填充)
和 Margins(邊距)
屬性如何影響控制元件的對齊方式,位置和大小。
# 1.19. PopupMenu屬性
指定上下文(彈出式)功能表對象。
# 1.20. Position屬性
指定當前控制元件的相對於其父控制元件的左上角。
Position(位置)可以受到其父控制元件的填充和控制元件的空白的影響。
# 1.21. RotationAngle屬性
指定控制元件從x軸旋轉的量(以度為單位)。
正角對應于順時針旋轉。對於逆時針旋轉,請使用負值。
要設定旋轉中心,請使用RotationCenter
屬性。
# 1.22. RotationCenter屬性
指定控制元件的軸心點的位置。
旋轉中心的座標取值範圍為0到1。座標為(0,0)的點對應于控制元件的左上角,座標為(1,1)的點對應于控制元件的左上角。控制元件的右下角,預設旋轉中心為(0.5,0.5),[0,0]和[1,1]之外的值可以在某些後代類中裁剪。
要設定旋轉角度,請使用 RotationAngle
屬性。
# 1.23. Scale屬性
指定控制元件的比例。
設定比例座標以指定每個軸上的比例。
每個軸的初始縮放比例為1。
注意:設定 了「 對齊」或「 錨點」屬性的控制元件可以使用與預設值(1,1)不同的比例,這樣,即使控制元件具有自定義比例,它們也可以對齊。
# 1.24. Size屬性
指定垂直和水平大小(大小。控制元件的高度和大小(以畫素為單位)。
使用Size屬性讀取或更改控制元件的大小。
# 1.25. Stroke屬性
確定用於繪製圖形基元的線條和形狀輪廓的繪圖筆的顏色和圖案。
Stroke的值是FMX.Graphics.TStrokeBrush對象。要自定義輪廓筆,請更改TStrokeBrush對象的Thickness,Cap,Dash和Join屬性。
Stroke包含以後屬性:
- Cap
- 指定用於繪製線和形狀輪廓的末端的圖形樣式。
- 預設值為Flat,單個平行線。
- 輪廓或線可以包含多個線元素。如果Dash不是Solid,則Cap影響每個線元素的末端。
- Dash
- 指定線條或輪廓的點樣式。
- 一個形狀輪廓或一條線可以包含若干段(點組),這些段具有不同的長度和段之間的空間。
- Dash的可能值是
Solid、Dash、Dot、DashDot、DashDotDot
和TStrokeDash型別中定義的Custom。 - 預設是實線——單個實線。
- 注意,如果虛線不是實線,則Cap會影響輪廓的每個線段的端點。
- 要定義繪圖筆的自定義dasho -dot樣式,請使用SetCustomDash方法。
- Join
- 指定連線線段或輪廓段的關節的樣式。
- 可能的值是
Miter,Round
和Bevel
在定義的TStrokeJoin型別。 - 預設值為
-
Miter聯接線段,而線段之間的尖角沒有任何平滑。
- Thickness
- 指定要繪製線條或輪廓的筆劃輪廓的寬度(以畫素為單位)。
# 1.26. Tag屬性
將一個NativeInt整數值儲存為元件的一部分。
標籤沒有預定義的含義。該標籤屬性可儲存的開發人員方便的任何其他整數值。Tag通常會儲存一個指針。甲標籤值可以是型別強制轉換為相應的指針型別。請注意,在64位平臺上,所有指針型別的大小均為8個位元組,而在32位平臺上,指針型別的大小為4個位元組。這些指針大小對應于64位和32位平臺上的NativeInt整數值的大小。
# 1.27. Touch屬性
指定與控制元件關聯的觸控管理器元件。
使用「 觸控」屬性可以訪問與控制元件關聯的手勢選項。Touch指定型別為TTouchManager的類。
觸控用於:
關聯TfxGestureManager。
(TfxGestureManager管理控制元件可以使用的所有標準手勢。)
選擇標準,互動式或自定義手勢以與控制元件關聯。
(您還可以將每個手勢連線到一個動作;請參閱將動作分配給手勢。)
# 1.28. Visible屬性
指定元件是否顯示在螢幕上。
在運行時使用可視屬性來控制控制元件的可見性。如果Visible為真,則出現控制元件。如果可見為假,則控制元件不可見。
# 1.29. Width屬性
指定控制元件的水平大小(以畫素為單位)。
使用Width屬性讀取或更改控制元件的寬度。