Como faço para fazer um tlabel se comportar como um hiperlink em Delphi?
Pergunta
Como faço para fazer um tlabel se comportar como um hiperlink em Delphi?
Nota: Não estou interessado em usar o TlinkLabel por causa de problemas de compatibilidade com versões anteriores.
Solução
Color It Blue, defina o estilo para sublinhar e adicionar um evento 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;
Outras dicas
Depende do que você precisa de seus hiperlinks. Eu só ...
- Defina a cor da fonte como azul
- Use os eventos OnMouse [Enter | Leave | Move] para aplicar adequadamente o estilo sublinhado à fonte
- Use o evento OnClick para gerar um navegador e altere a cor da fonte, conforme desejado.
Qual versão do Delphi você está usando? Olhando para o meu Delphi 4 IDE, o Tlabel não possui um evento OnMouseEnter/OnMouseleave, o que seria necessário para alterar o cursor para uma "mão" quando o usuário paira sobre o "link".
Ele tem o evento OnClick, que você pode conectar para iniciar o navegador da web do usuário:
Pode -se guiar e dar foco aos links em um navegador. Portanto, eu consideraria o uso de um controle em janela (como um Tbutton, proprietário) para esta tarefa.