各路大侠们:
   有好多checkbox控件,因为它们没有只读属性,怎样才能当单击时它们不选中???
我不想用enable的属性,因为它会变成铅色????????  

解决方案 »

  1.   

    procedure EnableControl(AControl: TWinControl; Enable: Boolean);
    begin
      with AControl do
        if Enable then
          SetWindowLong(Handle, GWL_STYLE, (not WS_DISABLED) and GetWindowLong(Handle, GWL_STYLE))
        else
          SetWindowLong(Handle, GWL_STYLE, WS_DISABLED + GetWindowLong(Handle, GWL_STYLE));
    end;
    //EnableControl(CheckBox1,False);
      

  2.   

    procedure TForm1.CheckBox1Click(Sender: TObject);
    begin
        CheckBox1.Checked:=false;
    end;
      

  3.   

    可能楼主的意思是:在选中的情况下也要显示已选中,但不能更改.譬如从数据库中读出某个checkbox对应的条件,满足就选中,不满足就不选中,但都不能再修改.只有数据库中没有对应条件的(即为空nil),才可以修改.
      不知道这样的情况怎么做?我也遇到这样的问题.希望能解答.