Borland C++ Builder VCL FAQ - Компоненты - динамическое создание

ОГЛАВЛЕНИЕ


Компоненты - динамическое создание

Например, так:
for (int i=0;i<5;i++)
       {
       TEdit *edit = new TEdit(this);
       edit->Parent = this;
       edit->Name = "edit"+AnsiString(i);
       edit->Height = 16;
       edit->Width = 104;
       edit->Left = 0;
       edit->Top = i*edit->Height;
       edit->Text = AnsiString(i);
       }
Этот код создаст 5 TEdit'ов.
Обращатся к ним можно так (по имени):
for (int i=0;i<5;i++)
       {
       TEdit *edit = (TEdit*)FindComponent("edit"+AnsiString(i));
       edit->Text = "www.sources.ru";
       }
Или совершенно другой вариант - использование массива:
TEdit *edit[5];

for (int i=0;i<5;i++)
       {
       edit[i] = new TEdit(this);
       edit[i]->Parent = this;
       edit[i]->Name = "edit"+AnsiString(i);
       edit[i]->Height = 16;
       edit[i]->Width = 104;
       edit[i]->Left = 0;
       edit[i]->Top = i * edit[i]->Height;
       edit[i]->Text = AnsiString(i);
       }

for (int i=0;i<5;i++)
       {
       edit[i]->Text = "www.sources.ru";
       }