批量修改容器内所有控件的只读属性

有时候我们需要找出某个容器如Panel,Form里面所有带只读的控件,修改他们的只读属性,如果一个个列出来修改

Edit1.Readonly:=True;

Edit2.Readonly:=True;

Edit3.Readonly:=True;

这样写就太麻烦了,所以我们要批量修改

procedure SetReadOnly(cpn:TComponent;bSetValue:Boolean); 
var i : integer;
begin

  for i := 0 to cpn.ComponentCount  - 1 do
  begin
    if cpn.Components[i].Tag<0 then //这里设置哪些是例外不需要修改,我设置的是Tag小于0
      Continue;

    if GetPropInfo(cpn.Components[i],'ReadOnly')<>nil then   //如果控件有ReadOnly属性
      SetPropValue(cpn.Components[i],'ReadOnly',bSetValue);  //修改ReadOnly 属性

  end;

end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值