这种过程怎么写阿?帮帮忙,谢了!

Rayphrank Rayphrank 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我想写一个过程
type
A=class
protected
ControlClick(sender:TObject);
public
procedure setControlClick(control:TControl);
end;

implementation

procedure A.setControlClick(control:TControl);
begin
????????????
???????????????
????????
end;
procedure A.ControlClick(sender:TObject)
begin
showMessage('Hello');
end;



我的目的是可以这样使用类A,即:
假如有一个TControl的子类TButton的实例Button1
通过调用 A.setControlClick(Button1);
以后Button1的click事件就为procedure A.ControlClick(sender:TObject)函数做的事,即显示一个'Hello',
假如还有一个TControl的子类TSpeedButton实例SPBtn1
我再调用A.setControlClick(SPBtn1);
同样,函数执行后,以后SPBtn1的click事件就为procedure A.ControlClick(sender:TObject)函数做的事,即显示一个'Hello',

主要是TControl的Property ONClick是保护型的,所以我不能直接在函数里写
control.onclick:=ControlClick;否则就简单了,
子类化我也想到了,可惜TControl没有Handle,(从TWinContol才开始有handle,但TSpeedButton不是从TWinControl继承下来的,TSpeedButton也没有handle,我晕!!!)

我不想改TControl的源码!


哪位老大能帮帮我想想,怎样完成这个函数
...全文

相关推荐

评论 8
收藏 已收藏
分享
返回顶部
Rayphrank
Delphi 5,944 成员 262,941 内容