惊天地! 泣鬼神!

zsuswy 2005-04-27 03:54:15
我动态生成了一个控件,如何写它的事件,比如让它响应click()。

不知道在哪里可以写它的事件函数,每次我自己定义函数,都通不过编译。高手指点,哭ing !!!
...全文
166 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
晨池 2005-04-27
  • 打赏
  • 举报
回复
就直接自己定义一个procedure,然后保证参数一致,就可以对OnClick直接赋值了。
zsuswy 2005-04-27
  • 打赏
  • 举报
回复
还有一个最最重要的问题,我想得到我自己动态生成的控件的时间参数,所以自己写个函数不行,


比如 mousemove事件,我要在我自己动态生成的控件的mousemove事件中得到鼠标的坐标,那自己写函数或者把其他空间的事件复制过来也不行啊。

请大家指点啊,谢谢
hjf8086 2005-04-27
  • 打赏
  • 举报
回复
注意
事件类型是TNotifyEvent类型
TNotifyEvent = procedure(Sender: TObject) of object;
你的方法必须是对象方法
fengzhengren 2005-04-27
  • 打赏
  • 举报
回复
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
//自定义函数声明写在这
//如function a;


private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.a();
begin
showmessage('aaa');
end;

然后再写Button.OnClick:=a就可以了。


zsuswy 2005-04-27
  • 打赏
  • 举报
回复
Dlwxn(蓝天)

你的代码是Button.OnClick := ButtonClick;
但是如过我自己定义一个函数附给Button.OnClick ,为什么会出现错误啊????

这个方法可以,但是我还是想知道上面的问题怎么解决,谢谢
Dlwxn 2005-04-27
  • 打赏
  • 举报
回复
新建一个工程,拖一个button在窗体上,把下面的代码复制覆盖你原有的单元文件。

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure ButtonClick(Sender: TObject);
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
Button: TButton;
begin
Button := TButton.Create(Self);
Button.Parent := Self;
Button.Left := 100;
Button.Top := 100;
Button.Caption := '点我';
Button.OnClick := ButtonClick;
end;

procedure TForm1.ButtonClick(Sender: TObject);
begin
ShowMessage('我被点击');
end;

end.
seekmydoom 2005-04-27
  • 打赏
  • 举报
回复
but.onclick=procedure proname;
phoebuswu 2005-04-27
  • 打赏
  • 举报
回复
自定義一個方法,再動態賦給這個元件的事件,應該沒問題,把你代碼貼出來看看

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧