Un label qui agit et reagit comme un lien de page web

Contenu du snippet

Voici un label qui agit et réagit comme les liens des naviguateurs web :

Source / Exemple :


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ShellApi;
  // atention ShellApi est indispensable dans la liste des uses
type
  TForm1 = class(TForm)
    Label1: TLabel;
    procedure Label1Click(Sender: TObject);
    procedure Label1MouseEnter(Sender: TObject);
    procedure Label1MouseLeave(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
// quand on clique sur le label
procedure TForm1.Label1Click(Sender: TObject);
begin
// il suffit de lancer le naviguateur par défaut
// du système d'exploitation vers le site désigné
// par le label
ShellExecute(Handle, 'OPEN', pchar(label1.caption),'','',SW_SHOWNORMAL);
end;
// quand la souris entre au dessus du label
procedure TForm1.Label1MouseEnter(Sender: TObject);
begin
   // je change de couleur de texte (ici c'est du bleu)
   Form1.Label1.Font.Color := clBlue;
   // ensuite je souligne le texte du label
   Form1.Label1.Font.Style := [fsUnderline];
end;
// puis quand la souris quitte le label
procedure TForm1.Label1MouseLeave(Sender: TObject);
begin
   // je revient à la couleur initiale
   Form1.Label1.Font.Color := clBlack;
   // et j'enleve les décorations
   Form1.Label1.Font.Style := [];
end;

end.

Conclusion :


voila il y as des explications dans le source .... il est aussi pas mal de regler la proprièté "cursor" du label en "crHandPoint" ce qui affiche un curseur "main" comme dans ie .... voila bon codage

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.