[简单问题]关于定义触发事件的问题

sfply 2003-01-07 02:47:09
一般我们定义了一个组件的触发事件时我们希望其他的组件也能不用写相同重复的代码就能实现相同的功能。
比如有很多个LABEL
我定义其中一个LABEL1两个事件,手标移上去字体变成红色,移开后恢复默认色
procedure TForm2.onmousemove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Label1.Font.Color:=clred;
end;

procedure TForm2.onmouseleave(Sender: TObject);
begin
Label1.Font.Color :=cldefault;
end;
问题是我们很多个LABEL都想拥有LABEL1的效果,我想一定有一个办法简单地调用LABEL1定义好的方法,而不用一个一个写代码?
怎么解决?

注意:不能以自定义FORM的形式重载方法。
...全文
67 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
laihecongxi 2003-01-07
  • 打赏
  • 举报
回复
1定义一个通用的事件:
type
TForm1 = class(TForm)
....
procedure Commmouseleave(Sender: TObject);
{ Private declarations }
public
{ Public declarations }
end;
.....
procedure TForm1.Commmouseleave(Sender: TObject);
begin
TLabel(sender).Font.Color :=cldefault;
end;
2:选中所有label然后在该事件的下拉框选择你定义的通用事件处理就可以了
Comer 2003-01-07
  • 打赏
  • 举报
回复
关注!

5,939

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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