2009-08-25 11 views

Répondre

18

Colorez-le en bleu, mettez du style à 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; 
+0

Oui, c'est ce que je cherchais. Je l'accepterai dans un jour ou deux, pour m'assurer que personne d'autre n'a d'autres idées. À votre santé. – Rowan

+0

Devrait être 'SW_SHOWNORMAL'. –

+0

N'oubliez pas d'ajouter "utilise ShellApi;" –

7

Cela dépend de ce dont vous avez besoin de vos hyperliens. Je venais ...

  • définir la couleur de la police au bleu
  • utiliser le onmouse [Entrer | Quitter | Déplacer] les événements à appliquer de manière appropriée le style de soulignement à la police
  • utiliser l'événement OnClick spawn un navigateur & changez la couleur de police, comme désiré.
+0

OnMouseEnter et OnMouseLeave ne sont pas disponibles dans D7 et versions antérieures (pas sûr de D2005) donc le commentaire sur TLinkLabel l'exclut également. Vous devrez utiliser OnMouseMove –

+0

Je viens de vérifier - Delphi 7 a certainement OnMouseEnter et OnMouseLeave:} – moobaa

+0

@Gerry: Oui, ils sont; il faut juste travailler un peu plus fort. Vous venez d'ajouter des gestionnaires pour les messages CM_MOUSEENTER et CM_MOUSELEAVE. –

1

Quelle version de Delphi utilisez-vous? En regardant mon IDE Delphi 4, TLabel n'a pas d'événement OnMouseEnter/OnMouseLeave, ce qui serait nécessaire pour changer le curseur en "Hand" quand l'utilisateur passe la souris sur le "lien".

Il a le événement OnClick, que vous pouvez câbler pour lancer le navigateur Web de l'utilisateur:

How to bring front or launch browser in Delphi

+0

Delphi 2009. Peut-être que souris sur était le mauvais terme. Dans les propriétés de TLabel, dans D2009, vous pouvez spécifier quel curseur doit être utilisé pour cette étiquette. – Rowan

0

onglet One peut et à donner le focus aux liens dans un navigateur. Par conséquent, j'utiliserais un contrôle fenêtré (comme un TButton dessiné par le propriétaire) pour cette tâche.

Questions connexes