網上有控件數組實現的多個方法,今天發現了Delphi的一個簡單版本,欣喜而外,特翻譯成bcb.
1,若有多個相同類的控件,比方說,TEdit,為了簡化逐個操作,可通過其Index屬性.
2,若直接放在Form上,則用Components[]屬性.比如:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
for(int i = 0;i < Form1->ControlCount;++i)
{
if( dynamic_cast <TEdit *>(Form1->Components[i]) )
{
dynamic_cast <TEdit *>(Form1->Components[i])->Color = clRed;
dynamic_cast <TEdit *>(Form1->Components[i])->Text = IntToStr(i);
}
}
}
3,若將控件組成一起,用Panel容器,則使用Panel的Controls[]屬性,比如:
for(int i = 0;i < Form1->Panel1->ControlCount;++i)
{
dynamic_cast <TEdit *>(Form1->Panel1->Controls[i])->Color = clRed;
dynamic_cast <TEdit *>(Form1->Panel1->Controls[i])->Text = IntToStr(i);
}
特別聲明,非本人研究,僅為改寫.