{$R *.dfm}
function isChecked(ParentControl: TWinControl): Boolean;
var
i: Integer;
s: boolean;
begin
for i := 0 to ParentControl.ControlCount - 1 do
begin
s := TCheckBox(ParentControl.Controls[i]).Checked;
if s then
begin
Result := True;
exit;
break;
end;
end;
Result := False;
end;
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if not isChecked(GroupBox1) then
CheckBox1.Checked := True;
end;
procedure TForm1.CheckBox2Click(Sender: TObject);
begin
if not isChecked(GroupBox1) then
CheckBox2.Checked := True;
end;
procedure TForm1.CheckBox3Click(Sender: TObject);
begin
if not isChecked(GroupBox1) then
CheckBox3.Checked := True;
end;
以下测试通过
在一个GroupBox组里有3个CheckBox:
至少有一个CheckBox是Checked ^_^
function isChecked(ParentControl: TWinControl): Boolean;
var
i: Integer;
s: boolean;
begin
for i := 0 to ParentControl.ControlCount - 1 do
begin
s := TCheckBox(ParentControl.Controls[i]).Checked;
if s then
begin
Result := True;
exit;
break;
end;
end;
Result := False;
end;
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if not isChecked(GroupBox1) then
CheckBox1.Checked := True;
end;
procedure TForm1.CheckBox2Click(Sender: TObject);
begin
if not isChecked(GroupBox1) then
CheckBox2.Checked := True;
end;
procedure TForm1.CheckBox3Click(Sender: TObject);
begin
if not isChecked(GroupBox1) then
CheckBox3.Checked := True;
end;
function isChecked: Boolean;
var
i: Integer;
begin
for i := 0 to GroupBox1.ComponentCount - 1 do
begin
if TCheckBox(GroupBox1.Components[i]).Checked then
begin
Result := True;
break;
exit;
end;
end;
Result := False;
end;