void __fastcall TForm1::Button1Click(TObject *Sender)
{
// Delete previous boxes, if any
for (size_t Col = 0; Col < FEdits.size(); Col++)
{
for (size_t Row = 0; Row < FEdits[Col].size(); Row++)
{
delete FEdits[Col][Row];
}
}
FEdits.clear();
// Generate new boxes
int Cols = StrToInt(ColsEdit->Text);
int Rows = StrToInt(RowsEdit->Text);
FEdits.resize(Cols);
for (int Col = 0; Col < Cols; Col++)
{
for (int Row = 0; Row < Rows; Row++)
{
TEdit * Edit = new TEdit(this);
Edit->Parent = this;
Edit->Top = 24 + Row * 32;
Edit->Left = 200 + Col * 64;
Edit->Width = 48;
FEdits[Col].push_back(Edit);
}
}
}
Затем вы можете использовать FEdits[Col][Row]
для доступа к отдельным полям редактирования. FEdits
должно быть определено как поле формы как:
std::vector<std::vector<TEdit *> > FEdits;
Вы должны включить «вектор» в верхней части вашего блока:
#include <vector>