高手请进(100分) ( 积分: 100 )

  • 主题发起人 主题发起人 jeansonliu
  • 开始时间 开始时间
J

jeansonliu

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在一个控件中自定义事件?
 
如何在一个控件中自定义事件?
 
扩展这个控件,就是从它继承一个新的控件,然后加入事件。
 
简单示例如下:(给自定义label控件增加自定义鼠标事件)
type
TNewLabel=class(TLabel)
private
procedure CMMouseEnter(var Msg:TMessage);message CM_MOUSEENTER;
procedure CMMouseLeave(var Msg:TMessage);message CM_MOUSELEAVE;

implementation

procedure TKvLabel.CMMouseEnter(var Msg:TMessage);
begin
if FLinkType then
begin
Cursor:=crHandPoint;
FOldColor:=Font.Color;
Font.Color:=FAboveColor;
Font.Style:=Font.Style+[fsUnderline];
end;
end;
procedure TKvLabel.CMMouseLeave(var Msg:TMessage);
begin
if FLinkType then
begin
Cursor:=crDefault;
Font.Color:=FOldColor;
Font.Style:=Font.Style-[fsUnderline];
end;
end;
 
多人接受答案了。
 
后退
顶部