Приветствую.
Есть динамически создаваемые Label*ы
Код:
procedure TForm1.Button1Click(Sender: TObject);
var i:byte;
s:string;
lb:array of TLabel;
begin
setlength(lb,Memo2.Lines.Count);
for i:=0 to Memo2.Lines.Count-1 do
begin
lb[i]:=TLabel.Create(Self);
lb[i].Parent:=Form1;
lb[i].Left:=8;
lb[i].Top:=i*17;
lb[i].Font.Size:=9;
lb[i].Height:=12;
lb[i].Width:=200;
lb[i].WordWrap:=False;
lb[i].Cursor:=crHandPoint;
lb[i].Caption:=Pars('">',Memo2.Lines.Strings[i-1],'%%%');
end;
end;
Из Memo парсятся строки и записываются в Caption*ы Label*ов.
Можно как то обработать Events тоже динамически ?
Что то типа:
Код:
procedure TForm1.lb[i]Click(Sender: TObject);
begin
ShellExecute(handle, 'open',pChar(Pars('%%%',Memo2.Lines.Strings[i-1],'">')), nil, nil, SW_SHOW);
end;
Что б в каждый Label спарсить свой Url и превратить его в гиперссылку.
Ну и обработать события:
lb[i].MouseDown,
lb[i].MouseUp,
lb[i].MouseLeave,
lb[i].MouseEnter
Что б можно было обрабатывать события мыши (если курсор над label5, подкрасить его в красный. Курсор ушёл вернуть цвет в синий.)
Спасибо.