Delphi/Lazarus: Link zu einer Website in einer Anwendung setzen
Tutorial von Stefan Trost | Letztes Update am 29.01.2023 | Erstellt am 12.08.2012
Manchmal ist es eine schöne Sache, einen Link direkt aus einem Windows-Programm heraus aufrufen zu können, zum Beispiel um einen Link zu seiner Website oder zu Hilfeseiten des Programms zu setzen. In diesen Tutorial möchte ich euch zeigen, wie ihr dies in Delphi oder Lazarus realisieren können.
In Delphi benutzen wir dafür eine API-Funktion aus der Unit ShellApi und wir wollen das Design des Labels, das den Link zeigen soll, so anpassen, das es wie ein Link aussieht.
Das Label mit dem Link
Um unser TLabel wie ein Link aussehen zu lassen, nutzen wir die folgenden Font- und Cursor-Eigenschaften, die man natürlich auch über den Objektinspektor einstellen kann:
Label1.Caption := 'www.sttmedia.de'; Label1.Font.Color := clBlue; Label1.Font.Style := [fsUnderline]; Label1.Cursor := crHandPoint;
Die Caption unseres Labels ist die Internetadresse, die wir aufrufen möchten. Diese soll später über den Code ausgelesen und aufgerufen werden, so dass wir zum Ändern der Adresse nur die Caption des Labels anpassen brauchen und nicht noch zusätzlich etwas im darunterliegenden Code.
Um auch mit der Schrift einen Link nachzubilden, setzen wir die Schriftfarbe auf blau und den Schriftstyle auf unterstrichen. Zusätzlich passen wir den Cursor an, so dass der Cursor zu einer Hand wird, sobald wir die Maus über das Label bewegen, um dessen Anklickbarkeit zu signalisieren.
Der Delphi-Code
Falls wir Delphi für die Programmierung nutzen, müssen wir die Unit "ShellApi" zu unserer "uses"-Section hinzufügen. Anschließend können wir den folgenden Code in das OnClick-Ereignis unseres Labels schreiben:
uses ShellApi, ... procedure TForm1.Label1Click(Sender: TObject); begin ShellExecute(Application.Handle, 'open', PChar(Label1.Caption), nil, nil, SW_ShowNormal); end;
Wenn wir nun auf unser Label klicken, öffnet sich der Standardbrowser mit unserer Internetseite, die wir in die Caption des Labels geschrieben haben.
Der Lazarus-Code
Wenn ihr statt Delphi Lazarus nutzt, geht es übrigens noch einfacher: In Lazarus könnt ihr einfach die Funktion OpenURL() aus der Unit LCLIntf verwenden, um eine Website plattformunabhängig aus eurem Lazarus-Programm heraus auf einem beliebigen Betriebssystem zu öffnen. Der Code könnte also so aussehen:
uses LCLIntf, ... procedure TForm1.Label1Click(Sender: TObject); begin OpenURL('https://' + Label1.Caption); end;
OpenURL() kann die URL direkt ohne weitere Parameter übergeben werden und öffnet die Website im Standardbrowser des Systems. Da wir die Internetadresse ohne "https://" in die Caption unseres Labels geschrieben haben, hängen wir hier vor dem Aufruf noch "https://" vorne an die Caption des Labels an. Das lässt sich aber natürlich noch beliebig anpassen.
Über den Autor
Software von Stefan Trost finden Sie auf sttmedia.de. Benötigen Sie eine individuelle Software nach Ihren eigenen Wünschen? Schreiben Sie uns: sttmedia.de/kontakt
Profil anzeigen
Ähnliche Themen
Delphi/Lazarus: Kommandozeilen Parameter Tutorial Teil 1: Senden
Tutorial | 0 Kommentare
Delphi: Systemweiter HotKey
Tutorial | 3 Kommentare
Windows: Programm als Administrator ausführen - Einmal, immer oder mit Verknüpfung
Tutorial | 0 Kommentare
Lazarus: Betriebssystem erkennen (Compiler Switch)
Tutorial | 3 Kommentare
Delphi: Globale Behandlung von Fehlermeldungen (Exceptions)
Tutorial | 0 Kommentare
Delphi: Mehrzeilige Caption für TLabel (zur Laufzeit und Design Zeit)
Tutorial | 1 Kommentar
Datei in ihren Ordnernamen umbenennen
Tutorial | 2 Kommentare
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.