Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

Re: hyperlink erstellen ??? Hilfe

  Alt 20. Dez 2006, 13:34
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
$2B or not $2B
  Mit Zitat antworten Zitat