Как мне заставить 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 вы используете? Глядя на мою Delphi 4 IDE, TLabel не имеет события OnMouseEnter/OnMouseLeave, которое было бы необходимо для изменения курсора на "Рука", когда пользователь наводит курсор мыши на "ссылку".
У него есть событие OnClick, которое вы можете подключить для запуска веб-браузера пользователя:
Можно вкладывать и фокусировать ссылки в браузере. Поэтому я хотел бы рассмотреть возможность использования оконного элемента управления (например, нарисованного владельцем TButton) для этой задачи.