2014-08-28 91 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