Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi hyperlink erstellen ??? Hilfe (https://www.delphipraxis.net/82833-hyperlink-erstellen-hilfe.html)

Legostone 20. Dez 2006 12:15


hyperlink erstellen ??? Hilfe
 
Hallo

Ich bin in Delphi anfänger und wüsste gerne, wie man ein einfach Hyperlink erstellt.

Bernhard Geyer 20. Dez 2006 12:27

Re: hyperlink erstellen ??? Hilfe
 
Was willst Du damit machen und wo soll dieser Hyperlink wirken?

Und ich glaube nicht das das eine neuer Betrag zur Code-Library ist.

DP-Maintenance 20. Dez 2006 12:29

DP-Maintenance
 
Dieses Thema wurde von "Christian Seehase" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Programmieren allgemein" verschoben.
Das klingt für mich noch sehr \\"allgemein\\" ;-)

himitsu 20. Dez 2006 12:34

Re: hyperlink erstellen ??? Hilfe
 
Erstmal gibt es dafür schon was Fertiges ... z.B. in den JEDIs :zwinker:


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

Ralf Kaiser 20. Dez 2006 12:36

Re: hyperlink erstellen ??? Hilfe
 
Hi,

ich vermute jetzt einfach mal so ins blaue (du hast es ja nicht näher definiert): Du willst in einem win32-Programm einen Hyperlink simulieren?

- Füge deinem Formular ein Label hinzu
- Setze den Font auf Blau/Unterstrichen
- Setze die Eigenschaft "Cursor" des Labels auf "crHandPoint"
- Erzeuge ein Ereignis für "OnClick"
- Füge diesen Code in den Eventhandler für das Ereignis ein:

Delphi-Quellcode:
ShellExecute(0, 'open', 'http://www.delphipraxis.net', nil, nil, SW_SHOWNORMAL);
- Füge die Unit "ShellAPI" der Uses-Liste hinzu

Dann das Programm compillieren und starten und auf das Label klicken.

Ciao,
Ralf

DeddyH 21. Dez 2008 18:16

Re: hyperlink erstellen ??? Hilfe
 
Bisschen spät, wie? :lol:


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz