gpt4 book ai didi

Delphi 自动完成 ButtonClick 程序

转载 作者:行者123 更新时间:2023-12-03 18:01:57 27 4
gpt4 key购买 nike

因此,当您双击一个按钮并自动完成按钮单击过程时,我很好奇编译器如何知道该函数链接到哪个按钮。例如,它会使 TForm1.Button1Click(Sender: TObject);

那么编译器如何知道链接了哪个按钮呢?它是否只是解析过程名称以查看它是什么按钮?

最佳答案

您可以将方法命名为任何名称,Delphi 不会解析或使用方法名称来标识关联的组件或事件。

如果您在设计时这样做,与事件处理程序的事件关联存储在 DFM 文件中,您可以在其中找到如下内容:

  object Button1: TButton
Left = 104
Top = 64
Width = 75
Height = 25
Caption = 'Button1'
TabOrder = 0
OnClick = Button1Click
end

当创建表单时,OnClick = Button1Click 使您的程序在运行时将方法(也称为事件处理程序)与对象的事件(一种特殊的属性)相关联。

您还可以在运行时将事件关联到任何兼容的方法,例如使用以下代码:

type
TForm1 = class(TForm)
Button1: TButton;
private
procedure MyClick(Sender: TObject);
procedure MyOtherClick(Sender: TObject);


....

procedure TForm1.AssociateClickHandler;
begin
Button1.OnClick := MyClick;
end;

procedure TForm1.MyClick(Sender: TObject);
begin
Button1.OnClick := MyOtherClick; //from now, the other method with handle the event.
end;

使用任何你想要的名字

在设计时,您可以直接在 ObjectInspector 中为事件处理程序编写您想要的名称,然后按 Enter 键,Delphi 将为您创建具有该名称的方法。如果您不提供名称,Delphi 将使用组件名称加上不带“On”的事件名称自动生成方法名称。如果方法已经存在,IDE 只会将事件与该方法相关联。

写下想要的方法名:

enter image description here

按回车键:

enter image description here

您可以将同一方法关联到同一对象的不同事件,或关联到不同对象的同一事件。

例如,您可以将上面显示的 MyOwnMethodName 关联到任意数量按钮的 OnClick。通常,Sender 参数包含对触发事件的对象的引用。

关于Delphi 自动完成 ButtonClick 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14285139/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com