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

Основное правило состоит в том, что можно только передать - объявляют классы, расположение памяти которых (и таким образом функции членства и элементы данных) не должны быть известны в файле, который Вы передаете - объявляют это.

Это исключило бы базовые классы и что-либо кроме классов, используемых через ссылки и указатели.

6
задан Rowan 25 August 2009 в 06:53
поделиться

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;
21
ответ дан 8 December 2019 в 03:27
поделиться

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

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

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

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

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

1
ответ дан 8 December 2019 в 03:27
поделиться

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

0
ответ дан 8 December 2019 в 03:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: