delphi中 如何为动态按钮添加动态事件??

我想做一个动态生成按钮的公共类,然后通过其他文件将参数传入调用这个公共类举例:假设我有A单元调用B单元里面的按钮动态生成单元,该怎么样将A单元中的按钮事件传入B动态生成的... 我想做一个动态生成按钮的公共类,然后通过其他文件将参数传入调用这个公共类
举例:假设我有A单元调用B单元里面的按钮动态生成单元,该怎么样将A单元中的按钮事件传入B动态生成的按钮事件

A文件
动态按钮生成点击事件
procedure ClickSelf(sender:Tobject)
begin
showmessage("1");
end;
动态生成按钮事件
procedure newbutton1
begin
newbutton; // 这里调用B文件
end;

B 文件
procedure newbutton
var
button : Tbutton;
begin
button := Tbutton.create(nil);
button .onclick := ClickSelf; ///// A文件里面的单击事件 这里该怎么样传值过来,B是没有引用A单元的
end;

我是想能否通过
procedure newbutton 这个过程后面加上参数来实现,不知道能否达成,或者有什么其他方式,望高手指点
展开
 我来答
sxdtgsh
2012-07-18 · TA获得超过2221个赞
知道小有建树答主
回答量:913
采纳率:75%
帮助的人:794万
展开全部
可以的。
B 文件
procedure newbutton(ANotifyEvent: TNotifyEvent);
var
button : Tbutton;
begin
button := Tbutton.create(nil);
button .onclick := ANotifyEvent; ///// 这就是从A文件里面传过来的单击事件 不用引用a单元
end;
A文件动态生成按钮事件改成 //
procedure newbutton1
begin
newbutton(ClickSelf); // 这里调用B文件
end;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式