【OnMouse事件】关于Panel中子控件的事件
事情是这样的,
我有一个 panel
上面有若干 image label button
我现在, 要在 MouseEnter 的时候把这个panel的背景色改成 蓝,
MouseLeave 的时候把这个 panel的背景色改成 默认。
- Delphi(Pascal) code
procedure TForm3.Panel6MouseEnter(Sender: TObject);begin Panel6.Color := clBlue;end;procedure TForm3.Panel6MouseLeave(Sender: TObject);begin Panel6.Color := clBtnFace;end;
//===================================================
问题: 当鼠标移动到 panel 中 的 label上的时候, 他也变成默认色, 这不是我想要的效果。
我要的效果是,只要鼠标进入了panel,不管移动到panel中的哪一个控件上面, 整个panel都应该变蓝才对。
求解答,求算法,求思路
[解决办法]
楼主,把你的这些事件,写到panel的控件中对应的事件应该就可以了。
你现在的事件是Panel6的。。。。
[解决办法]
- Delphi(Pascal) code
type TControlEx = class(TControl); for I := 0 to Panel6.ControlCount - 1 do begin TControlEx(Panel6.Controls[I]).OnMouseEnter := Panel6MouseEnter; TControlEx(Panel6.Controls[I]).OnMouseLeave := Panel6MouseLeave; end;
[解决办法]
panel内的控件也设置MouseEnter,MouseLeave事件,关联到Panel就行了,不用每个重写