愛招飛幫助手冊 愛招飛幫助手冊
  • 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. BeginDrag方法
          • 1.2. BringToFront方法
          • 1.3. CanFocus方法
          • 1.4. Create方法
          • 1.5. Destroy方法
          • 1.6. EndDrag方法*
          • 1.7. GetTextLen方法*
          • 1.8. Hide方法*
          • 1.9. InsertControl方法
          • 1.10. SetFocus方法
          • 1.11. SetTextBuf方法*
          • 1.12. Show 方法*
          • 1.13. Focused方法*
      • 公共事件
      • 視窗控制元件
      • 系統控制元件
      • 標準控制元件
      • 對話方塊控制元件
      • 標準工控控制元件
      • 專業工控控制元件
      • 數據控制控制元件
      • 數據表格控制元件
      • 數據感知控制元件
      • 通訊控制控制元件
      • 儀表採集控制元件
      • 監控視訊控制元件
      • 數據圖表控制元件
      • 流程圖表控制元件
      • 數據分析控制元件
      • 複合數控控制元件
      • 模擬數控控制元件
      • 調節數控控制元件
      • 數位數控控制元件
      • 數據數控控制元件
      • 地圖控制元件
      • 其他控制元件
      • SVG控制元件
      • IsoBean控制元件
      • 樣式控制元件
      • 樣式外觀控制元件
      • 樣式高級控制元件
      • 樣式工具控制元件
      • 樣式數據控制元件
      • 樣式控制元件GP
      • 樣式數據控制元件GP
    • 功能用法

    • 專用模板

    • 開發流程

    • 函式程式

  • 開發手冊

目录

公共方法

# Smart 公共方法

# 1. 公用方法

  元件的對象方法是指可呼叫的過程和函式,可以用它們來執行相應的操作。有的對象方法 在所有的元件中都能使用,而有些只能被少陣列件使用。

對像方法 適用範圍 功能簡述
BeginDrag 所有元件 開始手工拖動
BringToFront 所有元件 將元件放在其他所有元件的前面
CanFocus 所有元件 確定元件是否接受焦點
Create 所有元件 建立一個新實體
Destroy 所有元件 解除實體(程式),實際應呼叫Free方法
EndDrag 所有元件 手動終止拖動
Free 所有元件 從記憶體中清除對像(窗體應呼叫Release方法)
GetTextLen 所有元件 返回元件的文字(或標題)長度
Hide 所有元件 隱藏元件(與Visible的False取值效果相同)
InsertControl 所有元件 向當前元件的子元件列表新增新元件
SetFocus 所有元件 賦予元件輸入焦點
SetTextBuf 所有元件 設定元件的輸入焦點
Show 所有元件 顯示元件(與Visible的True取值效果相同)
Focused 視窗元件 確定元件是否具有焦點

# 1.1. BeginDrag方法

procedure BeginDrag(Immediate: Boolean; Threshold: Integer = -1);
1

  只有元件的DragMode屬性值為dmManual時,應用程式才需要呼叫該方法開始拖動操作。

  如果Immediate參數為True,則滑鼠指針變為DragCursor屬性值並開始拖動;如果為False, 則滑鼠指針並不變為DragCursor屬性的值且在使用者將滑鼠指針移動一個由Threshold參數指定的畫素數量前沒有開始拖動,並且允許元件在沒有開始拖動或拖靠操作時接受單擊。如果呼叫者傳遞的值小於 0 (該參數的預設值),則該方法將使用全域性變景Mouse的DragThreshold 屬性。


# 1.2. BringToFront方法

procedure BringToFront;
1

  該方法將元件放置在其父元件內所有其他元件的前面。呼叫該方法可確保窗體可見,或重新安排窗體中重疊的元件。元件層疊在每一個其他元件上的(也稱為Z)順序依賴於將元件放置在窗體中的順序。

  兩個有視窗元件的層疊順序與兩個無視窗元件相同,例如在一個窗體中放置一個Memo元件,然後在其上放置一個覈取方塊,則覈取方塊保持在上面。對Memo元件呼叫該方法,將移動 Memo元件以使其顯示在覈取方塊之上。層疊順序不能混雜,例如若在一個窗體中放罝一個有視窗的Memo元件,然後在其上放置一個列視窗的標籤元件,則標籤元件在Memo元件後面不顯 示。有視窗元件始終層疊在無視窗元件之上。在該例中,對標籤元件呼叫該方法不會執行任何操作,這個元件將保持在Memo元件后。


# 1.3. CanFocus方法

function CanFocus: Boolean; dynamic;
1

  呼叫該方法可判斷元件是否接收使用者的輸入。如果設定元件和其父元件的Visible和Enabled屬性均為True,則該方法返回True;否則返回False。

  • 應用
      CanFocus方法用於確定元件能杏獲得焦點。如果視窗元件及其父視窗可見,並且處於啟用狀態,則該方法將返回True,程式碼如下:
constructor TMyHandler.Create(AOwner: TComponent);
begin
  FThis :=TBaseForm(AOwner);
  FThis.Edit1.Enabled := False;
end;

{方法實現  MODULE-REAL}
procedure TMyHandler.BUTTON1CLICK;
//開始拖動
begin
  if FThis.Edit1.CanFocus = False then
    ShowMessage('目前元件不能獲得焦點!');
end;
1
2
3
4
5
6
7
8
9
10
11
12
13

  單擊「開始」按鈕,因為Edit1處於未啟用的狀態,所以無法獲得焦點。 點選「開始」按鈕,顯示選定元件未獲得焦點


# 1.4. Create方法

constructor Create(AOwner: TComponent);
1

  該方法用丁建立並初始化一個實體。在程式運行時,呼叫該方法可以實體化一 個對象;在程式設計時,在窗體中放置元件後會自動動建立該元件的實體。

  • 應用
      Create方法用於建立並初始化滾動框對象。下面的程式碼是用於手工建立一個滾動框對象。
procedure TMyHandler.BUTTON1CLICK;
//產生滾動框
var
  ScrollBox1 : TScrollBox;
begin
  ScrollBox1 := TScrollBox.Create(FThis);
  ScrollBox1.Align := alClient;
  ScrollBox1.Parent := FThis;
end;
1
2
3
4
5
6
7
8
9

  運行結果如圖,點選按鈕後生成一個ScrollBox。 程式運行 點選「產生滾動框」,產生一個滾動框填充滿客戶區


# 1.5. Destroy方法

destructor Destroy; override;
1

  該方法用於從記憶體中刪除對象。在應用程式中不能直接呼叫該方法, 而應先呼叫Free,以檢驗呼叫Destroy前該對像不為空,然後自動呼叫該方法。


# 1.6. EndDrag方法*

procedure EndDrag(Drop: Boolean);
1

  使用該方法可結束一個呼叫BeginDrag方法開始的拖動操作。如果Drop參數為True,則放下或停靠正在拖動的元件;否則不能放下或停靠元件並且取消拖動操作。


# 1.7. GetTextLen方法*

function GetTextLen: Integer;
1

  呼叫該方法可查明元件文字長度,這個大小是GetTextBuf方法需要使用的一個文字緩衝區。


# 1.8. Hide方法*

procedure Hide;
1

  呼叫該方法可隱藏元件,它將元件的Visible屬性設罝為False。雖然隱藏后的元件不可見,但可繼續使用其屬性和方法。


# 1.9. InsertControl方法

procedure InsertControl(AControl: TControl);
1

  該方法用於將元件插入到視窗元件的Controls陣列屬性中,應用程式不需要直接呼叫這個方法。在設計程式時,當新增或刪除時,子元件自動被插入和刪除。在程式運行時,使用子元件的Parent屬性將其插入到Controls陣列中。如果子元件己經是另一視窗元件的子元件,設定其Parent屬性,以保證該子元件從原來的父元件的Controls陣列中刪除。AControl參數用於指定插入到Controls陣列中的子元件。

  • 應用
      InsertControl方法用於將指定元件插入到目前元件的元件陣列中。在應用程式中不能直接呼叫InsertControl方法將子元件插入到元件中,而應設定子元件的Parent屬性,因為如果子元件已經是某個視窗元件的子元件,使用Parent屬效能夠保證子元件從其原來的父視窗中刪除。
procedure TMyHandler.BUTTON1CLICK;
begin
  FThis.RemoveControl(FThis.Edit1);
  FThis.ScrollBox1.InsertControl(FThis.Edit1);
end;
1
2
3
4
5
程式運行
點選「插入」,Edit1被移動至ScrollBox中

# 1.10. SetFocus方法

procedure SetFocus; virtual;
1

  使用該方法可改變視窗元件的焦點。當元件有焦點時,可接收鍵盤事件。

  • 應用
      SetFocus方法的作用是使視窗元件獲得焦點,以下顯示的是點選按鈕切換焦點的程式。
procedure TMyHandler.BITBTN1CLICK;
//點選輪流切換焦點
begin
  if i = 0 then
  begin
    FThis.Edit1.SetFocus;
    i := i + 1;
  end
  else
  begin
    FThis.Edit2.SetFocus;
    i := i - 1;
  end;
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14

程式運行 點選按鈕后,切換焦點至Edit1


# 1.11. SetTextBuf方法*

procedure SetTextBuf(BufYer: PChar);
1

  該方法將元件的文字設定為在指定緩衝區內的文字,文字被設定為由Buffer參數指向的緩衝區內文字。這個方法用於發送WM_SETTEXT和CM_TEXTCHANGED訊息。要使用AnsiString設定元件的文字,可用Text屬性代替。


# 1.12. Show 方法*

procedure Show;
1

  該方法用於將一個隱藏元件的Visible屬性設定為True使其可見,並確保其父元件也可見。


# 1.13. Focused方法*

function Focused: Boolean; dynamic;
1

  該方法用於確定視窗元件是否具有輸入焦點,即是否為啟用元件。返回True時,有輸入焦點;否則沒有,即使用者與該元件不能互動。Focused方法用於確定視窗紐件是杏有輸入焦點,如果視窗元件為目前元件,則該方法返回True。


公共屬性
公共事件

← 公共屬性 公共事件→

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