Pregunta

¿Cómo hago que un tlabel se comporte como un hipervínculo en Delphi?

Nota: No estoy interesado en usar TlinkLabel debido a problemas de compatibilidad con versiones anteriores.

¿Fue útil?

Solución

¡Colorearlo azul, establecer un estilo para subrayar y agregar un evento en el cierre!

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;

Otros consejos

Depende de lo que necesite de sus hipervínculos. Solo lo haría ...

  • Establezca el color de la fuente en azul
  • Use los eventos de onmouse [Enter | Leave | Move] para aplicar adecuadamente el estilo subrayado a la fuente
  • Use el evento OnClick para generar un navegador y cambiar el color de la fuente, según lo desee.

¿Qué versión de Delphi estás usando? Mirando mi Delphi 4 IDE, TLabel no tiene un evento en MouseEnter/onmouseleve, lo que sería necesario para cambiar el cursor a una "mano" cuando el usuario se cierne sobre el "enlace".

Tiene el evento OnClick, que puede conectar para iniciar el navegador web del usuario:

Cómo traer el navegador de front o lanzar en Delphi

Uno puede hacer una pestaña y dar enfoque a los enlaces en un navegador. Por lo tanto, consideraría usar un control con ventana (como un tbutton dibujado por el propietario) para esta tarea.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top