一般我们定义了一个组件的触发事件时我们希望其他的组件也能不用写相同重复的代码就能实现相同的功能。
比如有很多个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的形式重载方法。
比如有很多个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的形式重载方法。
解决方案 »
- D7,下了个发送邮件的源码,老是一打开就报“class tnmsmtp notfound”,搜了下说是个控件,要另外自己下载?
- 问一个利用UPDOWN控件控制多个EDIT出现的position问题
- 如何设定excel表[A1:F64]的表格线,或边框线?!在线等,急!
- 文本文件如何定位文件的读写位置,seek函数如何使用
- D7的ACTIONMANAGER有太多的问题,例举如下,并请高手给出诊断方法,在下感激不尽
- 出现Project SuperSpeed.exe raised exception class EReadError with message 'invalid
- 怎么样用发消息的方式清除掉一个edit里的文本!
- 我这条SQL又怎样写呢???????????????好难呀!!!!
- 请教:如何实现记录的快速复制,特别在异质数据库中。
- 关于delphi6的几个小问题
- 请问网上哪里有dbgrid的增强控件,要功能强大,免费且有中文帮助的?
- 请问如何把自己的程序加到浏览器上边的标准按钮里?就像金山词霸和FlashGet那样?
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然后在该事件的下拉框选择你定义的通用事件处理就可以了