我自己做的控件为什么装不上? (100分)

  • 主题发起人 主题发起人 扶程星云
  • 开始时间 开始时间

扶程星云

Unregistered / Unconfirmed
GUEST, unregistred user!
再问个问题,由于tlabel没有失去焦点的事件,所以继承的控件也没有,请问如何添加?就是当我把鼠标移动到控件上,颜色改变,但由于没有失去焦点的事件,但鼠标离开控件的时候颜色不能还原。
MouseLeave事件怎么继承下来?procedure MouseLeave; override;提示出错!
 
提示什么错误呀。
 
发错了,就把它删除掉呀。
 
没看到删除的地方
 
呵呵,那就给分八
 
这样就行了:

unit ExLabel;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TExLabel = class(TLabel)
private
FOnMouseEnter: TNotifyEvent;
FOnMouseLeave: TNotifyEvent;
procedure CMMouseEnter(var Msg: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Msg: TMessage); message CM_MOUSELEAVE;
protected
{ Protected declarations }
public
{ Public declarations }
published
property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('Samples', [TExLabel]);
end;

{ TExLabel }

procedure TExLabel.CMMouseEnter(var Msg: TMessage);
begin
if Assigned(FOnMouseEnter) then FOnMouseEnter(Self);
end;

procedure TExLabel.CMMouseLeave(var Msg: TMessage);
begin
if Assigned(FOnMouseLeave) then FOnMouseLeave(Self);
end;

end.
 
非常感谢,真是高手,以后请多指教! :)
 
thx1180, 不好意思,本来是给你加分的,结果加给别人了。sorry.下次吧。
 
后退
顶部