其实很简单:
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TURLLabel = class(TLabel) procedure WndProc(var Message : TMessage); override; end; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} { TURLLabel } procedure TURLLabel.WndProc(var Message: TMessage); begin if (Message.Msg = CM_MOUSEENTER) then begin Font.Color := clBlue; Font.Style := Font.Style + [fsUnderline]; end; if (Message.Msg = CM_MOUSELEAVE) then begin Font.Color := clWindowText; Font.Style := Font.Style - [fsUnderline]; end; inherited WndProc(Message); end; procedure TForm1.FormCreate(Sender: TObject); begin with TURLLabel.Create(Self) do begin Parent := Self; Left := 10; Top := 10; caption := ‘www.delphi3000.com‘; Cursor := crHandPoint; end; end; end.
转自http://www.delphi3000.com/articles/article_1050.asp?SK=
时间: 2024-11-16 18:55:44