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

StackOverflow https://stackoverflow.com/questions/1326452

  •  19-09-2019
  •  | 
  •  

Вопрос

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

Примечание: я не заинтересован в использовании TlinkLabel из -за проблем с обратной совместимостью.

Это было полезно?

Решение

Цвет его синий, установите стиль, чтобы подчеркнуть и добавить событие 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 вы используете? Глядя на My Delphi 4 IDE, Tlabel не имеет события OnmouseEnter/OnmouseLeave, которое было бы необходимо для того, чтобы изменить курсор на «руку», когда пользователь колеблется над «ссылкой».

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top