求教关于自定义组件的问题
unit UrlLabel;interfaceuses SysUtils, Classes, Controls, StdCtrls,Graphics,ShellAPI,Windows,Messages;type TUrlKind = (Html,Email,Ftp); TUrlLabel = class(TLabel) private FLinkUrl: string; FUrlKind: TUrlKind; FHoverColor: TColor; procedure SetLinkUrl(const Value: string); procedure SetUrlKind(const Value: TUrlKind); procedure SetHoverColor(const Value: TColor); { Private declarations } protected procedure Click;override; procedure MouseEnter(var Message: TMessage); message CM_MOUSEENTER; procedure MouseLeave(var Message: TMessage); message CM_MOUSELEAVE; public constructor Create(AOwner:TComponent);override; published property LinkUrl:string read FLinkUrl write SetLinkUrl; property UrlKind:TUrlKind read FUrlKind write SetUrlKind default Html; property HoverColor:TColor read FHoverColor write SetHoverColor default clred; end;procedure Register;implementationprocedure Register;begin RegisterComponents('ttt', [TUrlLabel]);end;constructor TUrlLabel.Create(AOwner:TComponent);begin inherited; Font.Color := clblue;end;procedure TUrlLabel.Click;var head:string;begin inherited; //end;procedure TUrlLabel.MouseEnter(var Message: TMessage);begin Font.Color := HoverColor; Font.Style := [fsUnderLine]; Cursor :=crHandPoint;end;procedure TUrlLabel.MouseLeave(var Message: TMessage);begin Font.Color := clblue; Font.Style := Font.Style - [fsUnderLine]; Cursor :=crDefault;end;procedure TUrlLabel.SetLinkUrl(const Value: string);begin FLinkUrl := Value;end;procedure TUrlLabel.SetUrlKind(const Value: TUrlKind);begin if Value = Html then LinkUrl := 'Http://' else if Value = Email then LinkUrl := 'MailTo:' else if Value = Ftp then LinkUrl := 'Ftp://'; FUrlKind := Value;end;procedure TUrlLabel.SetHoverColor(const Value: TColor);begin FHoverColor := Value;end;end.