
10.12.2009, 00:30
|
|
Новичок
Регистрация: 26.11.2009
Сообщений: 20
С нами:
8662587
Репутация:
60
|
|
Сообщение от FindeR
Немного не пойму, как обратиться к динамично созданному объекту. А именно, к конкретному событию.
К примеру, создали
Код:
Btn : array [0..100] of TButton;
Chk : array [0..100] of TCheckBox;
....
Btn[1] := TButton.create(self);
Chk[1] := TCheckBox.create(self);
Btn[2] := TButton.create(self);
Chk[2] := TCheckBox.create(self);
{и так сотня пар}
Теперь требуется при нажатии Btn[i] менять состояние Chk[i].
Кто подскажет, как реализовать?
Для этого тебе нужно создать свою процедуру, скажем:
Код:
...
procedure DynamicChkeBoxChange(Sender:TObject);
...
procedure TForm1.DynamicChkeBoxChange(Sender:TObject);
begin
//Здесь все необходимые операции, например:
chk[1].Checked:=true;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Btn[1] := TButton.create(self);
Chk[1] := TCheckBox.create(self);
chk[1].Parent:=Form1;
chk[1].Left:=200;
chk[1].Top:=200;
btn[1].Parent:=form1;
btn[1].OnClick:=TT; // Передаем событие TNotifyEvent
end;
p.s.Есть и более разумнуе способы, но разобраться в них будет сложнее 
|
|
|