Comment puis-je faire en sorte qu'un tlabel se comporte comme un hyperlien à Delphi?
Question
Comment puis-je faire en sorte qu'un tlabel se comporte comme un hyperlien à Delphi?
Remarque: je ne suis pas intéressé à utiliser TlinkLabel en raison de problèmes de compatibilité vers l'arrière.
La solution
Colorez-le bleu, réglez le style pour souligner et ajoutez un événement OnClick!
procedure TForm1.Label1Click(Sender: TObject);
var
MyLink: string;
begin
MyLink := 'http://www.mysite.com/';
ShellExecute(Application.Handle, PChar('open'), PChar(MyLink),
nil, nil, SW_SHOW);
end;
Autres conseils
Cela dépend de ce dont vous avez besoin de vos hyperliens. Je venais juste ...
- Réglez la couleur de la police en bleu
- Utilisez les événements OnMouse [Entrez | Leave | Move] pour appliquer de manière appropriée le style de soulignement à la police
- Utilisez l'événement OnClick pour engendrer un navigateur et modifiez la couleur de la police, comme vous le souhaitez.
Quelle version de Delphi utilisez-vous? En regardant mon Delphi 4 IDE, Tlabel n'a pas d'événement OnMouseEnter / OnMouseleave, qui serait nécessaire pour changer le curseur en une "main" lorsque l'utilisateur plane sur le "lien".
Il a l'événement OnClick, que vous pouvez câbler pour lancer le navigateur Web de l'utilisateur:
Comment apporter le navigateur à l'avant ou à lancer à Delphi
On peut s'adapter et donner la mise au point aux liens dans un navigateur. Par conséquent, j'envisagerais d'utiliser un contrôle fenêtré (comme un TBUTTON tiré par le propriétaire) pour cette tâche.