首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

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

2013-09-06 
如何动态的设置组件的属性啊请教下各位高手,如何动态设置组件的属性,比如for(int i 0 i 18 i++){Com

如何动态的设置组件的属性啊
请教下各位高手,如何动态设置组件的属性,比如
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";


热点排行