怎样统一设置控件的属性

ynszx 2008-10-28 04:35:41
例如界面上放了N个TEdit控件,在程序运行期间想把所有的TEdit类控件的Enabled属性设置为false;
我只会一个一个的设置,有没有办法用一个语句(或很少的语句)就设置好了呢?
...全文
167 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fangsp 2008-10-29
  • 打赏
  • 举报
回复
for(int i = 0; i < this->ComponentCount; i++) 
{
if(this->Components[i]->ClassType() == __classid(TEdit))
{
TEdit *pEdit = (TEdit *)(this->Components[i]);
pEdit->Enabled = false;
}
}
utin431 2008-10-29
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 jaffy 的回复:]
引用 7 楼 fangsp 的回复:
C/C++ codefor(int i = 0; i < this->ComponentCount; i++)
{
if(this->Components[i]->ClassType() == __classid(TEdit))
{
TEdit *pEdit = (TEdit *)(this->Components[i]);
pEdit->Enabled = false;
}
}

同意,这个是正确的,不过注意如果放在容器中时,可以用ControlCount
[/Quote]

这个适应用最强。
TripH0101 2008-10-29
  • 打赏
  • 举报
回复
一楼正解
iamhaiergg 2008-10-29
  • 打赏
  • 举报
回复
在程序运行期间!!! 回帖前看清楚了!

我的做法是先定义一个TEdit控件的数组,
TEdit *myEdit[20];

初始化时候把要设置的控件加到数组中
myEdit[0] = Edit1;
myEdit[1] = Edit2;
。。。。。。。。

设置的时候用for循环
for(int i = 0; i < myEdit.Length; i++)
{
myEdit[i]->Enable = false/true;
}

jaffy 2008-10-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 fangsp 的回复:]
C/C++ codefor(int i = 0; i < this->ComponentCount; i++)
{
if(this->Components[i]->ClassType() == __classid(TEdit))
{
TEdit *pEdit = (TEdit *)(this->Components[i]);
pEdit->Enabled = false;
}
}
[/Quote]
同意,这个是正确的,不过注意如果放在容器中时,可以用ControlCount
jxw1987628 2008-10-28
  • 打赏
  • 举报
回复
哈哈,都对,能在界面上设计的,就在界面上弄好了!
xabcxyz 2008-10-28
  • 打赏
  • 举报
回复
按住shift多选统一设置
打开dfm文件统一设置
yuanreid 2008-10-28
  • 打赏
  • 举报
回复
楼上正解
yumikoo 2008-10-28
  • 打赏
  • 举报
回复

for(int i = 0; i < this->ComponentCount; i++)
{
if(this->Components[i]->ClassType() == __classid(TEdit))
{
TEdit *pEdit = (TEdit *)(this->Components[i]);
pEdit->Enabled = false;
}
}


604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧