愛招飛幫助手冊 愛招飛幫助手冊
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • Smart幫助主頁
  • 學習手冊

    • 基本入門

    • 功能介紹

    • 控制元件說明

      • 公共屬性
        • 1. 大多陣列件共有的屬性
          • 1.1. Action 屬性
          • 1.2. Align屬性
          • 1.3. AutoSize屬性
          • 1.4. BoundRect屬性
          • 1.5. ComponentCount屬性
          • 1.6. ComponentIndex屬性
          • 1.7. Components屬性
          • 1.8. ControlCount屬性
          • 1.9. Controls屬性
          • 1.10. Color屬性
          • 1.11. Ctl3D屬性
          • 1.12. Cursor屬性
          • 1.13. DragCursor屬性
          • 1.14. Enabled屬性
          • 1.15. Focused屬性
          • 1.16. Font屬性
          • 1.17. Handle屬性
          • 1.18. Height屬性
          • 1.19. Hint屬性
          • 1.20. Left屬性
          • 1.21. Name屬性
          • 1.22. Owner屬性
          • 1.23. Parent屬性
          • 1.24. ParentFont屬性
          • 1.25. ParentCtl3D屬性
          • 1.26. PopupMenu屬性
          • 1.27. ShowHint屬性
          • 1.28. TabOrder屬性
          • 1.29. Visible屬性
          • 1.30. Tag屬性
          • 1.31. Top屬性
          • 1.32. Width屬性
          • 1.33. Caption屬性
      • 公共方法
      • 公共事件
      • 視窗控制元件
      • 系統控制元件
      • 標準控制元件
      • 對話方塊控制元件
      • 標準工控控制元件
      • 專業工控控制元件
      • 數據控制控制元件
      • 數據表格控制元件
      • 數據感知控制元件
      • 通訊控制控制元件
      • 儀表採集控制元件
      • 監控視訊控制元件
      • 數據圖表控制元件
      • 流程圖表控制元件
      • 數據分析控制元件
      • 複合數控控制元件
      • 模擬數控控制元件
      • 調節數控控制元件
      • 數位數控控制元件
      • 數據數控控制元件
      • 地圖控制元件
      • 其他控制元件
      • SVG控制元件
      • IsoBean控制元件
      • 樣式控制元件
      • 樣式外觀控制元件
      • 樣式高級控制元件
      • 樣式工具控制元件
      • 樣式數據控制元件
      • 樣式控制元件GP
      • 樣式數據控制元件GP
    • 功能用法

    • 專用模板

    • 開發流程

    • 函式程式

  • 開發手冊

目录

公共屬性

# Smart 公共屬性、方法和事件

# 1. 大多陣列件共有的屬性

  每個元件都有其特定的屬性,但有些屬性對所有的元件是通用的。下面列出一些通用的屬性並附有簡短的說明。

屬性 適用範圍 功能簡述
Action 一些元件 標識與元件連線的活動對像
Align 一些元件 確定空間在其父元件區域內的對齊方式
AutoSize 一些元件 元件是否可以根據其內容確定自己的大小
BoundRect 所有元件 定義元件矩形連框(運行時用)
ComponentCount 所有元件 目前元件擁有的元件數目(運行時用)
ComponentIndex 所有元件 目前元件在父元件列表中的位置(運行時用)
Components 所有元件 目前元件擁有的子元件陣列(運行時用)
ControlCount 所有元件 目前元件的自組建數目(運行時用)
Controls 所有元件 目前元件的子元件陣列(運行時用)
Color 大部分元件 目前元件的表面背景色
Ctl3D 大部分元件 確定元件是否有三維效果
Cursor 所有元件 目前元件上的游標形狀
DragCursor 大部分元件 目前元件接受拖動時游標的形狀
Enabled 所有元件 確定元件是否被啟用
Focused 所有元件 確定元件是否被聚焦
Font 所有元件 確定元件內顯示的文字字型
Handle 視窗元件 元件使用的系統視窗控制代碼(運行時用)
Height 所有元件 元件的高度
Hint 所有元件 元件顯示提示的字串
Left 所有元件 元件左上角的水平座標
Name 所有元件 元件實體的唯一名稱
Owner 所有元件 表示主元件(運行時用,只讀)
Parent 所有元件 表示父元件
ParentFont 所有元件 確定元件是否使用父元件的Font
ParentCtl3D 大部分元件 確定元件是否使用父元件的Ctl3D
PopupMenus 所有元件 在元件上單擊游標右鍵時出現的彈出式功能表
ShowHint 所有元件 確定是否啟用提示功能
TabOrder 視窗元件 確定父元件的切換程式
Visible 所有元件 確定元件是否可見
Tag 所有元件 儲存一個整形變數的值,無實際意義
Top 所有元件 可定位元件的頂部位置
Width 所有元件 元件的寬度
Caption 大部分元件 該屬性可指定標註元件的文字字串

# 1.1. Action 屬性

property Action;
1

  標識與元件連線的活動對象,允許應用程式集中響應使用者的命令。當元件與行為相關聯時,行為確定元件的適當屬性和方法。要在設計程式時建立行為,則在窗體或數據模組上放置行為列表元件。雙擊該行為列表,將出現行為列表編輯器,使用功能表新增行為。使用列表編輯器新增的行為將在對像觀察器中的Action屬性的下拉選單中顯示。

  • 應用
      爲了節省程式碼的編輯量,可使用ActionList元件來編寫程式碼。雙擊ActionList元件,打開Main.ActionList1對話方塊,單擊「新增」按鈕。在Action1的OnExecute事件中編寫程式碼。在BitBtn1元件和MainMenu1元件的N2的Action屬性中選擇Action1,在單擊BitBtn1元件和MainMenu1元件的N2時,都會呼叫Action1的OnExecute事件。

Main.ActionList對話方塊
單擊「新增」按鈕


# 1.2. Align屬性

property Align;
1

  使用該屬性可在窗體或面板上將元件排列到頂端、底端、左邊或右邊,並且即使窗體、面板或包含元件的大小發生變化,也仍然會保持對齊方式。可以使窗體以某種方式對齊,下面是所選對齊方式的說明。

所選內容 說明
alBottom 元件被移到容器的底端
alClient 使元件填充整個容器
alCustom 以自定義方式顯示窗體
alLeft 元件被移到容器的左端
alNone 元件仍然在其原來的位置
alRight 元件被移到容器的右端
alTop 元件被移到容器的頂端

# 1.3. AutoSize屬性

property AutoSize;
1

  說明元件是否可以根據其內容確定自己的大小。將窗體的AutoSize屬性設定為True時,窗體可根據窗體中的內容確定自己的大小,作為該窗體的預設打開的大小。

AutoSize屬性設定為True的顯示效果

# 1.4. BoundRect屬性

property BoundRect: TRect read GetBoundsRect write SetBoundsRect;
1

  定義元件矩形連框(運行時用)。通過程式來設定元件的位置和大小。

procedure TMyHandler.BUTTON1CLICK;
var 
  Rect:  TRect;
begin
  Rect.Left := 0;
  Rect.Top := 0;
  Rect.Right := 200;
  Rect.Bottom := 200;
  FThis.Button1.BoundsRect := Rect;
end;
1
2
3
4
5
6
7
8
9
10

  窗體初始化后,點選Button1按鈕,窗體中的元件將按照指定的設定顯示。


# 1.5. ComponentCount屬性

property ComponentCount: Integer;
1

  使用該屬性查詢或檢查元件擁有的子元件數,或當Components列表重複執行該元件的一些行為時使用該屬性。該屬性由反覆執行程式內部使用。注意,該元件的ComponentCount包含的專案數與該元件Components屬性列表中的專案數相同。

  • 應用
      ComponentCount屬性用於確定滾動框所擁有的元件數。在程式中,可以使用該屬性利用循環的方式訪問所有者為滾動框的所有元件。下面的程式碼演示瞭如何訪問滾動框所具有的元件。
procedure TMyHandler.BUTTON1CLICK;
var
 i: Integer;
begin
  FThis.Memo1.Lines.Add('滾動框中的元件數為:' + IntToStr(FThis.ScrollBox1.ComponentCount));
  for i := 0 to FThis.ScrollBox1.ComponentCount - 1 do
  begin
    FThis.Memo1.Lines.Add(FThis.ScrollBox1.Components[i].Name);
  end;
end;

procedure TMyHandler.BUTTON2CLICK;
//點選顯示按鈕動態建立元件並顯示
var
  i: Integer;
  temp: TEdit;
begin
  for i := 0 to 5 do
  begin
    temp := TEdit.Create(FThis.ScrollBox1);
    temp.Parent := FThis.ScrollBox1;
    temp.Left := 5;
    temp.Name := 'Edit' + IntToStr(i);
    temp.Top := temp.Height * i + 5;
    temp.Text := '屬於滾動框';
    temp.Visible := True;
  end;
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

# 1.6. ComponentIndex屬性

property ComponentIndex: Integer;
1

  該屬性用於指定元件在其自己的Components屬性陣列中的位置。當重複通過元件的Components列表的擁有者執行某些元件行為時使用該屬性。使用這個屬性可以直接與元件建立聯繫,該熟悉也可以在重複分配過程中內部使用。元件列表中第一個元件的ComponentIndex屬性值為0,第2個元件為1……,當和ComponentIndex一起使用時,ComponentCount屬性的值總是最高的ComponentIndex的值。


# 1.7. Components屬性

property Components[Index: Integer]: TComponent;
1

  使用該屬性可訪問元件內擁有的任何子元件,包含滾動框所擁有的元件。通過該屬性可以訪問到滾動框所擁有的任意一個元件。在介紹ComponentCount屬性及ComponentIndex屬性時,都使用了Components屬性得到相應的元件資訊。Component屬性時一個陣列屬性,包含滾動框所擁有的元件。通過該屬性可以訪問到滾動框所擁有的任意一個元件。在介紹ComponentCount屬性及ComponentIndex屬性時,都使用了Components屬性得到相應的元件資訊。


# 1.8. ControlCount屬性

property ControlCount: Integer;
1

  該屬性用於指定窗體元件的子元件的數量,在重複便利元件的所有子元件時被讀取。元件的所有子元件列在Controls屬性陣列中。該屬性為只讀。

  • 應用
      ControlCount屬性用於獲得子元件(滾動框中)的數量。在開發程式時,經常需要清空一些文字數據,可以使用該屬性利用循環的方法清空一組數據,程式碼如下:
procedure TMyHandler.BUTTON1CLICK;
var 
i: Integer;
begin
  for i := 0 to FThis.ScrollBox1.ControlCount - 1 do
  begin
    if FThis.ScrollBox1.Controls[i] is TEdit then
      TEdit(FThis.ScrollBox1.Controls[i]).Text := '';
  end;
end;
1
2
3
4
5
6
7
8
9
10

單擊Button1按鈕,清空編輯框中的文字,如圖所示。

點選按鈕后,Tedit元件中的內容被清空

# 1.9. Controls屬性

property Controls[Index: Integer]: TControl;
1

  該屬性時一個包含視窗元件的所有子元件的陣列,便於用數字指定視窗元件的子元件。這個屬性便於用數字指定視窗元件的子元件,在重複遍歷視窗元件的所有子元件時將被用到。該屬性列出了元件的所有子元件,而Components屬性列出了元件所擁有的所有元件。所有放置在窗體中的元件為窗體所擁有,因此即使這些元件是窗體中某一元件的子窗體,也會出現在窗體的Components屬性列表中。該屬性為只讀,使用InsertControl或RemoveControl方法也可以增加或刪除子元件。若要從一個父元件中移動子元件到另外的元件中,則設定子元件的Parent,將在原父元件中處理RemoveControl,在新父元件中處理InsertControl。

  • 應用
      Control屬性用於列舉所有子元件。在開發程式的過程中,當需要訪問一組元件時,如果直接使用元件名稱訪問元件,既不方便也不靈活。可以使用元件父親(Parent)的Controls屬性訪問元件,程式碼詳見1.1.8節。

# 1.10. Color屬性

property Color nodefault;
1

目前元件的表面背景顏色。


# 1.11. Ctl3D屬性

property Ctl3D: Boolean;
1

  該屬性用於確定元件是否具有3D或2D外觀,它提供了向後相容性,在32位Windows或NT4.0以上版本中無效。在早期的平臺上,該屬性控制組件是平坦的,還是有傾角的。

Ctl3D屬性設定效果

# 1.12. Cursor屬性

property Cursor: TCursor read FCursor write SetCursor default crDefault;
1

  顯示目前元件上的游標形狀。


# 1.13. DragCursor屬性

property DragCursor: TCursor read FDragCursor write FDragCursor default crDrag;
1

  目前元件接受拖動時游標的形狀。


# 1.14. Enabled屬性

property Enabled;
1

  確定元件是否啟用。

  • 應用
      設定元件的可用度,程式碼如下:
procedure TMyHandler.BITBTN1CLICK;
begin
   if i = 0 then  
   begin
     FThis.Edit1.Enabled := False;
     i := i + 1;
     FThis.BitBtn1.Caption := '可用';
   end
   else
   begin
     FThis.Edit1.Enabled := True;
     i := i - 1;
     FThis.BitBtn1.Caption := '不可用';
   end;
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

元件被啟用 元件未被啟用


# 1.15. Focused屬性

function TWinControl.Focused: Boolean;
1

  確定元件是否被聚焦。


# 1.16. Font屬性

property Font;
1

  確定元件內顯示的文字字型。

  • 應用
      單擊Font屬性右邊的「...」按鈕,打開「字型對話方塊」,在「字型」對話方塊中可以對文字的字型、大小、顏色、字形等進行設定。 「字型」設定

# 1.17. Handle屬性

property Handle: HWND;
1

  Handle屬性未滾動框提供了訪問底層的Windows螢幕對象的控制代碼。


# 1.18. Height屬性

property Height: Integer read FHeight write SetHeight;
1

  對元件的高度進行設定。


# 1.19. Hint屬性

property Hint: string read FHint write FHint stored IsHintStored;
1

  元件顯示提示的字串。當ShowHint屬性為True時該屬性才可用。對一些無文字的按鈕進行說明。在SpeedButton按鈕的Hint屬性中輸入「獲取檔案的路徑」,將ShowHint屬性設定為True。在運行程式之後,將游標移到SpeedButton按鈕上停留3秒鐘,這時就會顯示一個黃色的說明框。


# 1.20. Left屬性

property Left: Integer read FLeft write SetLeft;
1

  元件左上角的水平座標。


# 1.21. Name屬性

property Name: TComponentName read FName write SetName stored False;
1

  預設時,IDE根據元件的型別設定連續的名稱。該屬性必須是一個有效的識別符號。只能在程式設計時修改元件名稱。在設計程式時,程式設計人員可以根據自己的喜好設定元件的唯一名稱。


# 1.22. Owner屬性

property Owner: TComponent;
1

  使用該屬性可獲得元件的擁有者。當一個元件擁有另一個元件時,釋放其他擁有者記憶體時,也釋放其擁有的記憶體。當刪除一個窗體時,也刪除窗體中的所有元件。建立元件時,元件擁有者由傳遞到建構函式的參數確定。對於在窗體設計器上建立的元件,窗體將自動作為擁有者分配。

  • 應用
      Owner屬性用於確定元件的所有者,元件的所有者(Owner)主要 有兩個作用:一是當元件釋放時,所有者會釋放掉其擁有的所有元件,二是用於載入和儲存所有者所擁有的所有元件的Published屬性。在預設情況下,窗體擁有其上的所有元件,應用程式 擁有窗體,當窗體釋放時,其上的所有元件均被釋放,,應用程式結束時,它所擁有的記憶體空間被全部釋放。當窗體被載入到記憶體中時,它也將載入其上的所有元件。元件的所有者由建構函式中的參數指定。 下面的例子在窗體建立時構造了一個滾動框元件,其所有者是一個面板,然後通過單擊按 鈕釋放掉面板元件。在試圖訪問滾動框時,程式將出現地址訪問錯誤,其程式碼如下:
procedure TMyHandler.BUTTON1CLICK;
//釋放面板
begin
  FThis.Panel1.Free;
end;

procedure TMyHandler.BUTTON2CLICK;
//訪問滾動框
begin
  FThis.ScrollBox1.AutoSize := True;
end;
1
2
3
4
5
6
7
8
9
10
11

  單擊「訪問滾動框」按鈕,程式出現地址訪問錯誤。

運行初始畫面 點選「釋放面板」按鈕 點選「訪問」滾動框時出現報錯對話方塊


# 1.23. Parent屬性

property Parent: TWinControl read FParent write SetParent;
1

  使用該屬性可獲得或設定元件的父體,即包含元件的視窗,包含元件稱為父體的子元件。 在程式運行時建立一個新元件時,為其分配該屬性值。父元件通常為窗體面板、組合框或一些可包含元件的元件。

  • 應用
      將圖示放在狀態列的最左面。
procedure TMyHandler.BUTTON1CLICK;
//將圖示放入狀態列
begin
  FThis.Image1.Parent := FThis.StatusBar1;
  FThis.Image1.Left := 2;
  FThis.Image1.Top := 3;
  FThis.Image1.Width := 32;
  FThis.Image1.Visible := True;
end;
1
2
3
4
5
6
7
8
9

  運行結果如下圖所示。

程式運行狀態 點選「置入狀態列按鈕」


# 1.24. ParentFont屬性

property ParentFont;
1

  元件要使用與其父元件相同的字型,則將該屬性設定為True;如果為False,則元件使用自己的Font屬性。將所有的元件的ParentFont屬性設定為True,可確保窗體的元件具有統一性。


# 1.25. ParentCtl3D屬性

property ParentCtl3D: Boolean read FParentCtl3D write SetParentCtl3D default True;
1

  元件要使用與其父元件相同的3D效果。則將該屬性設定為True;如果為False,則元件使用自己的Ctl3D屬性。將所有的元件的ParentCtl3D屬性設定為True,可確保窗體的形狀具有統一性。


# 1.26. PopupMenu屬性

property PopupMenu: TPopupMenu;
1

  為該屬性分配一個值,可使右擊元件后顯示彈出式功能表。如果TPopupMenu對象的這個屬 性為True,則動顯示彈出式功能表;否則從元件的OnContextPopup事件處理粒序中呼叫功能表的Popup方法顯示功能表。

  • 應用
      PopupMenu屬性確定滾動框關聯的彈出式功能表。如果為該屬性指定一個彈出式功能表,並且彈出式功能表的AutoPopup屬性為True,那麼當用戶用滑鼠右鍵單擊滾動框時將顯示一個彈出式功能表(需在PopupMenu元件中設定右鍵功能表選項),程式碼如下:
begin
  This.ScrollBox1.PopupMenu := This.PopupMenu1;
end.
1
2
3
右鍵功能表

# 1.27. ShowHint屬性

property ShowHint;
1

  當滑鼠指針在元件上停頓片刻時,可以使用該屬性確定元件是否顯示一個幫助提示。幫助提示是Hint屬性值,在元件旁邊的一個框內顯示。若要允許一個特定元件顯示幫助提示,則應用程式和元件的ShowHint屬性必須為True,或元件的ParentShowHint屬性和其父元件的 ShowHint屬性必須為True。ShowHint屬性用於對一些無文字的按鈕進行說明。在SpeedButton按鈕的Hint屬性中輸入提示資訊,將ShowHint屬性設為True。在運行程式后,將游標移到SpeedButton按鈕上停留3秒鐘,會顯示一個黃色的說明框。


# 1.28. TabOrder屬性

type TTabOrder = -1...32767;
property TabOrder: TTabOrder;
1
2

  該屬性用於在其父元件的標籤順序中指定子元件的位置。當用戶按下Tab鍵后,該屬性是訪問子視窗的順序。當窗體第1次顯示時,該屬性值為0的元件是有焦點的元件。開始,標籤順序總是元件被新增到視窗中的順序。第1次新增到視窗中的元件的該屬性值為0,第2次為1, 依次類推。改變該屬性值可改變標籤順序。在父元件視窗中,每一元件具有惟一的標籤順序值。 如果使用者改變某一元件的TabOrder屬性值使之等於另一元件的TabOrder屬性值,則其他元件的TabOrder值也將改變。如果指定某元件的TabOrder屬性值大於父元件包含的元件數,則移動該元件至標籤順序最後。

  僅當元件的TabStop屬性值為True且該元件有父元件時,該屬性才有效(除非窗體沒有父元件,因此不能通過按下Tab鍵訪問該元件。如果要在Tab順序中刪除父元件,則設定父元件的該屬性為False)。


# 1.29. Visible屬性

property Visible;
1

  使用該屬性可控制組件在運行時的可視性。在設計程式時,有時候需要放置元件但不是實時顯示,只有在特定事件觸發的情況下才顯示,這時可使用該屬性進行設定。


# 1.30. Tag屬性

property Tag: Longint;
1

  該屬性沒有預先確定的含義,是為開發人員的使用方便而提供的。可用T儲存另外的整型數值,或輸入32位值,例如元件參數或指針。

  Tag屬性足為元件提供的一個附加整數值。該屬性沒有確定的意義,只足爲了方便開發者 而設計的一個整型屬性,能夠儲存一個附加的整數值。在開發程式時,可以為每個元件指定一 個不同的Tag值,在運行程式時,可以根據不同的Tag值區分元件。


# 1.31. Top屬性

property Top: Integer read FTop write SetTop;
1

  使用該屬性可定位元件的頂部位置或將元件重新放罝到一個不同的Y座標位置。


# 1.32. Width屬性

property Width;
1

  使用屬性可讀取或修改元件的寬度。


# 1.33. Caption屬性

property Caption stored IsCustomCaption;
1

  該屬性用於指定標註元件的文字字串,通常作為顯示視窗標題或標註的文字。

多語言設計
公共方法

← 多語言設計 公共方法→

Copyright © 2021-2025 愛招飛IsoFace | ALL Rights Reserved
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式