0
我是南非的一名基礎學生。我必須創建一個PAT項目進行評估。 我用動態按鈕創建了一個動態表單並對其進行編輯。但是,當點擊按鈕時,我需要觸發點擊事件。 我現在虧本了。他們教會我們訪問動態對象的屬性,比如字符串表格的單元格屬性,但不知道如何觸發動態對象的事件。爲動態創建的按鈕啓動OnClick事件
我是南非的一名基礎學生。我必須創建一個PAT項目進行評估。 我用動態按鈕創建了一個動態表單並對其進行編輯。但是,當點擊按鈕時,我需要觸發點擊事件。 我現在虧本了。他們教會我們訪問動態對象的屬性,比如字符串表格的單元格屬性,但不知道如何觸發動態對象的事件。爲動態創建的按鈕啓動OnClick事件
試試這個
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;
這回答了這個問題。但有人想知道它是否錯過了提供建議的機會。如果'btnNewClick'要調用一個方法並做更多的事情,'btNew.Click'可以用對該方法的調用來替代。人們想知道爲什麼要點擊一個按鈕來間接地完成任務。 – 2014-08-28 20:15:09
你能後,你有這麼遠的代碼?動態表單和動態按鈕將是一個很好的開始。 – 2014-08-28 19:02:33
我不知道你想用你的項目有多遠,但作爲正確的方式,我會考慮使用操作。您可以創建一個'TAction',爲其OnExecute事件編寫一個代碼,並通過Action屬性將其分配給創建的按鈕。然後你會'執行'動作而不是觸發點擊事件。 – TLama 2014-08-28 19:25:42
你爲什麼要解僱這個事件?你不能直接調用一個方法嗎? – 2014-08-28 19:49:33