Erstmal gibt es dafür schon was Fertiges ... z.B. in den JEDIs
Oder mit einem "normalen" TLabel und im
OI folgendes einstellen:
Code:
Cursor = crHandPoint
Font.Color = clHotLight
OnClick = Label1Click
OnMouseEnter = Label1MouseEnter
OnMouseLeave = Label1MouseLeave
dann noch dieses dazu:
Delphi-Quellcode:
Uses ShellAPI;
Procedure TInfoForm.Label1MouseEnter(Sender: TObject);
Begin
Label1.Font.Style := Label1.Font.Style + [fsUnderline];
End;
Procedure TInfoForm.Label1MouseLeave(Sender: TObject);
Begin
Label1.Font.Style := Label1.Font.Style - [fsUnderline];
End;
Procedure TInfoForm.Label1Click(Sender: TObject);
Begin
ShellExecute(
Handle, '
', PChar('
http://........'), '
', '
', 0);
End;
Es wäre auch gut möglich für mehrere Labels zu realisieren (mit den selben Ereignisprozeduren):
Code:
Cursor = crHandPoint
Font.Color = clHotLight
OnClick = Label1Click
OnMouseEnter = Label1MouseEnter
OnMouseLeave = Label1MouseLeave
Caption = irgendwas (z.B. "Link zu meiner Seite", oder einfach nur die
URL)
Hint = [
url]http://.[/
url]....
Delphi-Quellcode:
Procedure TInfoForm.Label1MouseEnter(Sender: TObject);
Begin
TLabel(Sender).Font.Style := TLabel(Sender).Font.Style + [fsUnderline];
End;
Procedure TInfoForm.Label1MouseLeave(Sender: TObject);
Begin
TLabel(Sender).Font.Style := TLabel(Sender).Font.Style - [fsUnderline];
End;
Procedure TInfoForm.Label1Click(Sender: TObject);
Begin
ShellExecute(
Handle, '
', PChar(TLabel(Sender).Hint), '
', '
', 0);
End;
Und wenn die
URL direkt in CAPTION steht, dann auch ohne HINT und mit dieser Prozedur:
Delphi-Quellcode:
Procedure TInfoForm.Label1Click(Sender: TObject);
Begin
ShellExecute(
Handle, '
', PChar(TLabel(Sender).aption), '
', '
', 0);
End;
[add]
OK,oder statisch, so wie vom Nächsten beschrieben:
OnMouseEnter und OnMouseLeave weglassen,
und dafür im
OI zusätzlich noch Font.Style = fsUnderline