Как работать с компонентом TLinkLabel ?

StudInst
Дата: 23.05.2011 13:06:32
На палитре появился "новый", теперь уже стандартный, компонет - TLinkLabel. Теоретически нужны 2 параметра - Caption и выбор процедуры, которая будет выполняться при клике на нём. А что в результате? - Caption есть, процедура OnLinkClick есть, но ничего похожего на гиперссылку! Более того, OnLinkClick не происходит при клике мышью по компоненту на форме.
В спрвке только:
Base class for label containing HTML link. TLinkLabel is the base class for a label that can contain HTML tags, including a link. The OnLinkClick event is triggered by clicking the link.
Как же с ним работать?
Tactical Nuclear Penguin
Дата: 23.05.2011 13:16:51
StudInst
На палитре появился "новый", теперь уже стандартный, компонет - TLinkLabel. Теоретически нужны 2 параметра - Caption и выбор процедуры, которая будет выполняться при клике на нём. А что в результате? - Caption есть, процедура OnLinkClick есть, но ничего похожего на гиперссылку! Более того, OnLinkClick не происходит при клике мышью по компоненту на форме.
В спрвке только:
Base class for label containing HTML link. TLinkLabel is the base class for a label that can contain HTML tags, including a link. The OnLinkClick event is triggered by clicking the link.
Как же с ним работать?


в Caption задать html-link, в OnLinkClick его обработать... что непонятного?
Anatoly Podgoretsky
Дата: 23.05.2011 13:20:51
Ошибка в 17 строке
Anatoly Podgoretsky
Дата: 23.05.2011 13:21:45
Не уже ли ты именно так и написал OnLinkClick?
Ega
Дата: 23.05.2011 13:58:00
StudInst
Как же с ним работать?


Например так:

uses
  ShellAPI;

  TForm16 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    procedure OnHTMLLinkLabelClick(Sender: TObject; const Link: string; LinkType: TSysLinkType);
  end;



procedure TForm16.FormCreate(Sender: TObject);
begin
  with TLinkLabel.Create(Self) do
  begin
    Parent := Self;
    SetBounds(100, 100, 300, 25);
    Caption := '<a href="http://www.sql.ru/forum/actualthread.aspx?tid=853003">Как же с ним работать?</a>';
    OnLinkClick := OnHTMLLinkLabelClick;
  end;
end;

procedure TForm16.OnHTMLLinkLabelClick(Sender: TObject; const Link: string;
  LinkType: TSysLinkType);
begin
  ShellExecute(0, 'Open', PChar(Link), nil, nil, SW_SHOWNORMAL);
end;
StudInst
Дата: 23.05.2011 14:30:53
Ega
Caption := '<a href="http://www.sql.ru/forum/actualthread.aspx?tid=853003">Как же с ним работать?</a>';
Спасибо, Ega! Я просто пробовал другие теги, а TLinkLabel переваривает видимо только <a href="URL">...</a>. Туфта какая-то! - я так и с обычным Label сделать могу. Ожидал, что при наведении указателя надпись будет становиться подчёркнутой... Благо хоть указатель в "руку" превращается.