Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 为动态创建的按钮触发OnClick事件_Delphi - Fatal编程技术网

Delphi 为动态创建的按钮触发OnClick事件

Delphi 为动态创建的按钮触发OnClick事件,delphi,Delphi,我是南非的一名母系学生。我必须创建一个PAT项目进行评估。 我创建了一个带有动态按钮的动态表单,并对其进行了编辑。但是我需要在按钮被点击时为它触发点击事件。 我现在不知所措。他们教我们访问动态对象的属性,比如字符串网格的cells属性,但不教我们如何触发动态对象的事件。试试这个 procedure TForm1.btnNewClick(Sender: TObject); begin // do something... end; procedure TForm1.FormCrea

我是南非的一名母系学生。我必须创建一个PAT项目进行评估。 我创建了一个带有动态按钮的动态表单,并对其进行了编辑。但是我需要在按钮被点击时为它触发点击事件。 我现在不知所措。他们教我们访问动态对象的属性,比如字符串网格的cells属性,但不教我们如何触发动态对象的事件。

试试这个

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;
试试这个

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;

你能把你目前掌握的代码发出去吗?动态表单和动态按钮将是一个很好的开始。我不知道你想得到的项目有多远,但我会考虑使用动作。您将创建一个
TAction
,为其
OnExecute
事件编写一个代码,并通过
Action
属性将其分配给已创建的按钮。然后,您将执行操作,而不是触发click事件。为什么要触发该事件。你不能直接调用一个方法吗?你能发布你到目前为止的代码吗?动态表单和动态按钮将是一个很好的开始。我不知道你想得到的项目有多远,但我会考虑使用动作。您将创建一个
TAction
,为其
OnExecute
事件编写一个代码,并通过
Action
属性将其分配给已创建的按钮。然后,您将执行操作,而不是触发click事件。为什么要触发该事件。你不能直接调用一个方法吗?这就回答了问题。但有人怀疑它是否错过了提供建议的机会。如果
btnNewClick
要调用一个方法并执行比
btNew更多的操作,则单击可以替换为调用该方法。人们不禁要问,为什么要不厌其烦地点击一个按钮来间接完成某件事呢?这就回答了这个问题。但有人怀疑它是否错过了提供建议的机会。如果
btnNewClick
要调用一个方法并执行比
btNew更多的操作,则单击可以替换为调用该方法。人们不禁要问,为什么要不厌其烦地点击一个按钮来间接地完成某件事呢。