unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Borland.Vcl.StdCtrls, System.ComponentModel;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Button2: TButton;
    CheckBox1: TCheckBox;
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.nfm}

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
    if CheckBox1.Checked then			//Edit1༭ʾCheckedֵ

        Edit1.Text :=  'true'
    else
        Edit1.Text :=  'false';

    if CheckBox1.State = cbChecked then	//Edit2༭ʾStateֵ
        Edit2.Text := 'ѡ'
    else if CheckBox1.State = cbGrayed then
        Edit2.Text := 'ѡе'
    else
        Edit2.Text := 'δѡ';

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
    CheckBox1.AllowGrayed := false;		//Ϊ״̬
    Button1.Enabled := false;			//ԼЧ
    Button2.Enabled := true;				// Button2Ч 
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
    CheckBox1.AllowGrayed := true;	//Ϊ״̬
    Button2.Enabled := false;			//ԼЧ
    Button1.Enabled := true;			// Button1Ч 
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   if CheckBox1.Checked then   //Edit1༭ʾCheckedֵ
        Edit1.Text :=  'true'
    else
        Edit1.Text :=  'false';
    if CheckBox1.State = cbChecked then   //Edit2༭ʾStateֵ
        Edit2.Text := 'ѡ'
    else if CheckBox1.State = cbGrayed then
        Edit2.Text := 'ѡе'
    else
        Edit2.Text := 'δѡ';
    Button1.Enabled := false;

end;

end.