Показать сообщение отдельно

  #3  
Старый 10.12.2009, 00:30
Pr0mo
Новичок
Регистрация: 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.Есть и более разумнуе способы, но разобраться в них будет сложнее
 
Ответить с цитированием