Как заставить TLabel вести себя как гиперссылка в Delphi?

Как заставить TLabel вести себя как гиперссылка в Delphi?

примечание: Я не заинтересован в использовании TLinkLabel из-за проблем обратной совместимости.

4 ответов


цвет синий, установить стиль, чтобы подчеркнуть и добавить событие 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;

Это зависит от того, что вам требуется от ваших гиперссылок. Я просто.....

  • установите цвет шрифта в синий
  • используйте события OnMouse[Enter|Leave|Move], чтобы соответствующим образом применить стиль подчеркивания к шрифту
  • используйте событие OnClick для создания браузера и изменения цвета шрифта по желанию.

какую версию Delphi вы используете? Глядя на мою IDE Delphi 4, TLabel не имеет события OnMouseEnter/OnMouseLeave, которое было бы необходимо изменить курсор на "руку", когда пользователь зависает над "ссылкой".

У него есть событие OnClick, которое вы можете подключить для запуска веб-браузера пользователя:

как принести фронт или запустить браузер в Delphi


можно вкладывать и фокусировать ссылки в браузере. Поэтому я бы рассмотрел использование оконного элемента управления (например, нарисованного владельцем TButton) для этой задачи.