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

透过控件名获得控件

2013-01-02 
通过控件名获得控件if(Form1-Controls[i]-Name ! name){Form1-Controls[i]-Captioncaption//想改变

通过控件名获得控件
if(Form1->Controls[i]->Name != name)
{
Form1->Controls[i]->Caption=caption;//想改变该控件caption属性,但通过controls得不到caption,在网上查的只能通过强制转化成TLabel后才能取得caption,有没有更方便的方法啊???


[解决办法]

if (Form1->Controls[i]->ClassNameIs("TLabel"))
{
    ((TLabel *)Form1->Controls[i])->Caption = caption;
}

[解决办法]
PPropInfo PropInfo = GetPropInfo(Control, "Caption");
if(PropInfo)
  SetStrProp(Control,PropInfo,"NewCaption ");

这个是通过反射来实现的,速度并不怎么样。而且只改 Caption 实现的多语言会漏掉很多地方没改。

热点排行