type
TForm1 = class(TForm)
Label1: TLabel;
procedure FormCreate(Sender: TObject);
procedure Label1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
procedure WndProc(var M: TMessage); override;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
uses shellapi;
const
aktiv = clRed;
inaktiv: TColor = clBlue;
procedure TForm1.FormCreate(Sender: TObject);
begin
Label1.Font.color := inaktiv;
Label1.Font.style := [fsunderline];
Label1.caption := 'http://www.dbrsoftware.de/delphi';
end;
procedure TForm1.Label1Click(Sender: TObject);
begin
if shellexecute(handle, 'open', pchar(Label1.caption),
nil, nil, sw_shownormal) > 32 then inaktiv := clPurple;
end;
procedure TForm1.WndProc(var M: TMessage);
begin
if M.LParam = Longint(Label1) then
case M.Msg of
CM_MOUSEENTER: Label1.Font.Color := aktiv;
CM_MOUSELEAVE: Label1.Font.Color := inaktiv;
end;
inherited WndProc(M);
end;