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 这个过程后面加上参数来实现,不知道能否达成,或者有什么其他方式,望高手指点 展开
举例:假设我有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 这个过程后面加上参数来实现,不知道能否达成,或者有什么其他方式,望高手指点 展开
1个回答
展开全部
可以的。
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;
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;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询