怎么给界面中所有的label全部添加一个onMouseLeave事件啊?(70)

  • 主题发起人 主题发起人 zhongjun762
  • 开始时间 开始时间
Z

zhongjun762

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在界面初始化的时候,给界面中所有的label组件的onMouseLeave事件给赋值,这样在移动到label上面的时候都可以有相应的颜色变换,想做成灵活一点的,哪位知道请回答我下,谢谢!
 
自己继承一下
 
[:)]能再具体些吗?谢谢
 
在程序启动的时候循环所有组件,如果是label就给它的onmousemove事件赋值。
 
Delphi世界qq群23981160
 
TMyLabel = class(Label)然后你pas 和dfm里面的Label全部替换成TMyLabel收工.
 
procedure TForm1.FormCreate(Sender: TObject);begin DoSet;end;procedure TForm1.DoSet;var i: integer;begin for i := 0 to Self.ComponentCount - 1 do begin if UpperCase(Self.Components.ClassName) = 'TLABEL' then begin TLabel(Self.Components).OnMouseMove := MouseMove1 ; end; end;end;procedure TForm1.MouseMove1(Sender: TObject);begin if Sender is TLabel then TLabel(Sender).Font.Color := clred;end; 这样写TLabel(Self.Components).OnMouseMove := MouseMove1 这句话出错了,不能赋值Incompatible types:'Parameter lists differ'
 
谢谢你们的思路,分数先给你们些
 
要声明一个事件,调用一个MOUSE消息.
 
借花献佛了 if UpperCase(Self.Components.ClassName) = 'TLABEL' then这么判断慢 if Self.Components is TLabel then就行
 
Raise里的label有这个功能
 
多人接受答案了。
 
后退
顶部