遍历所有Edit组件,怎么使符合条件的Edit组件改变属性
遍历所有Edit组件,如何使符合条件的Edit组件改变属性
AnsiString str= "Edit2" ;
for(int i=0;i<this->ComponentCount;i++)
{
if(this->Components[i]->Name==str)
{
ShowMessage( (this->Components[i])->Name );
(TEdit(Form1->Components[i])).Text="1243";//这可以编译
(TEdit(Form1->Components[i]))->Text="1243";//编译显示错误,但不知道错在哪儿了?
(TEdit(Form1->Components[i]))->Color=clSkyBlue;//编译显示错误,但不知道错在哪儿了?
}
}
------解决思路----------------------
把 (TEdit(Form1->Components[i])) 改成 (TEdit *(Form1->Components[i]))
------解决思路----------------------
AnsiString str= "Edit2" ;
for(int i=0;i<this->ComponentCount;i++)
{
if(this->Components[i]->Name==str)
{
ShowMessage( (this->Components[i])->Name );
(TEdit(Form1->Components[i])).Text="1243";//这可以编译
(TEdit(Form1->Components[i]))->Text="1243";//编译显示错误,但不知道错在哪儿了?
(TEdit(Form1->Components[i]))->Color=clSkyBlue;//编译显示错误,但不知道错在哪儿了?
}
}
------解决思路----------------------
把 (TEdit(Form1->Components[i])) 改成 (TEdit *(Form1->Components[i]))
------解决思路----------------------
AnsiString str= "Edit2" ;
for (int i = 0; i < ComponentCount; i++)
{
if (Components[i]->Name == str)
{
TEdit *edt = (TEdit *)Components[i];
if (edt)
{
edt->Text = "1243";
edt->Color = clSkyBlue;
}
}
}