2014-08-28 100 views
0

我是南非的一名基礎學生。我必須創建一個PAT項目進行評估。 我用動態按鈕創建了一個動態表單並對其進行編輯。但是,當點擊按鈕時,我需要觸發點擊事件。 我現在虧本了。他們教會我們訪問動態對象的屬性,比如字符串表格的單元格屬性,但不知道如何觸發動態對象的事件。爲動態創建的按鈕啓動OnClick事件

+0

你能後,你有這麼遠的代碼?動態表單和動態按鈕將是一個很好的開始。 – 2014-08-28 19:02:33

+2

我不知道你想用你的項目有多遠,但作爲正確的方式,我會考慮使用操作。您可以創建一個'TAction',爲其OnExecute事件編寫一個代碼,並通過Action屬性將其分配給創建的按鈕。然後你會'執行'動作而不是觸發點擊事件。 – TLama 2014-08-28 19:25:42

+0

你爲什麼要解僱這個事件?你不能直接調用一個方法嗎? – 2014-08-28 19:49:33

回答

6

試試這個

procedure TForm1.btnNewClick(Sender: TObject); 
begin 
    // do something... 
end;  

procedure TForm1.FormCreate(Sender: TObject); 
begin 
    btnNew := TButton.Create(Self); 
    btnNew.Parent := Self; 
    btnNew.OnClick := btnNewClick; 
    // set other properties as needed ... 
end; 

如果你需要「點擊」,在代碼中的按鈕,你可以這樣做:

btnNew.Click; 
+1

這回答了這個問題。但有人想知道它是否錯過了提供建議的機會。如果'btnNewClick'要調用一個方法並做更多的事情,'btNew.Click'可以用對該方法的調用來替代。人們想知道爲什麼要點擊一個按鈕來間接地完成任務。 – 2014-08-28 20:15:09