读书人

怎么动态的设置组件的属性

发布时间: 2013-09-06 10:17:17 作者: rapoo

如何动态的设置组件的属性啊
请教下各位高手,如何动态设置组件的属性,比如
for(int i = 0; i < 18; i++)
{
ComboBox(i)->Text = "123";
}

ComboBox1->Text到ComboBox18->Text,我一共有18个组件,如何一个个设置就需要写很多代码,我想写一个循环一次搞定的那种,请问有没有什么好的办法,谢谢
[解决办法]
ComboBox在什么容器里,在Form上还是pannel里
容器里有没有别的空件
以Form窗体为例

    for(int i=0;i<this->ComponentCount;i++)
{
if( this->Components[i]->ClassType() == __classid( TComboBox))
((TComboBox* )this->Components[i])->Text = "123";
}

[解决办法]
InheritsFrom 也可以
    for(int i=0;i<this->ComponentCount;i++)
{
if( this->Components[i]->InheritsFrom( __classid( TComboBox)) )
((TComboBox* )this->Components[i])->Text = "123";
}


[解决办法]
ComboBox 是件也是控件...因它可操作...以控件的色操作比一...然以件的方式操作也行......

for (int i = 0; i < ControlCount; i++) {
TComboBox *cb = dynamic_cast<TComboBox *>(Controls[i]);
if (cb) cb->Text = L"123";
}

[解决办法]
使用FindComponent函数获得组件的指针
[解决办法]
之前我於如何使用件控件也不是很明...妖哥清晰明的指後...我大澈大悟了然於胸~
http://bbs.csdn.net/topics/390566220

控件(TControl)件(TComponent)的子
基於效率 : 以路探 TForm 控件(Controls)的次小於等於件(Components)
目明 : 此例所要探的是的目是 TComboBox ...所以以控件(Controls)操作象

for (int i = 0; i < ControlCount; i++)
if (Controls[i]->ClassNameIs("TComboBox"))


((TComboBox *)Controls[i])->Text = "123";


读书人网 >C++ Builder

热点推荐