我在哪里写checkbox.color=clred;能让全场变红
注意是变,因为可能我原来可能是clinfobk或clbalck,我是想操作一次,让所有的checkbox.color变。

解决方案 »

  1.   

    在设置菜单里,修改下checkbox.color,就是它的背景色嘛。我不同单元里有的有checkbox类,有的没有,有的多,有的少,我想用一个代码或什么的,全部一起变背景色,用colorbox之类的先,存在数据库里,下次启动时起效也是可以的。关键是操作一次,全部变颜色,但不要每个每个checkbox都读写数据库,就一次,最多一个窗口一次。
      

  2.   


    procedure TForm1.Button1Click(Sender: TObject);
    var 
        chk: TCheckBox;
        i: Integer;
    begin 
        for i := 0 to self.ControlCount -1 do begin
            if self.Controls[i] is TCheckBox then begin
                chk := TCheckBox(self.Controls[i]);
                chk.Color := clRed;
            end; 
        end; 
    end;
      

  3.   

    把所有checkbox的指针保存到一个数组, 然后遍历数组来进行设置颜色.
      

  4.   

    7楼牛妹妹,不同Form也行吗?它们并非同时都打开也可以?
      

  5.   

    先从数据库中读取这个颜色的string值myCol,然后把这个颜色的字符串想办法转换成颜色类型的col,checkBox.color:=col
    或者直接checkBox.color:=#FFFF
      

  6.   

    洋子,数据库这个东东大体会点,主要是遍历的问题,重心在如何才能全场,
    六楼FierceLC 的基本符合要求。我准备在oncreat或onactivate时用,不过好象窗口每个都要调用。