unit Unit1;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls,ExtCtrls;
type
TfrmVoter = class(TForm)
edtSelectedCities: TEdit;
grpCandidateCities: TGroupBox;
rgSelectedCitiesCount: TRadioGroup;
btnSubmit: TButton;
btnExit: TButton;
chkBeijing: TCheckBox;
chkShanghai: TCheckBox;
chkShenzhen: TCheckBox;
chkGuangzhou: TCheckBox;
chkWuhan: TCheckBox;
chknanjing: TCheckBox;
btnReset: TButton;
btnInverse: TButton;
procedure btnExitClick(Sender: TObject);
procedure btnSubmitClick(Sender: TObject);
procedure frmVoterShow(Sender: TObject);
procedure rgSelectedCitiesCountClick(Sender: TObject);
procedure btnResetClick(Sender: TObject);
procedure btnInverseClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmVoter: TfrmVoter;
implementation
{$R *.dfm}
//退出按钮点击事件处理过程
procedure TfrmVoter.btnExitClick(Sender: TObject);
begin
if MessageBox(Handle, '确定退出吗?', '提示信息',MB_OKCANCEL) = 1 then
begin
Close;
end;
end;
//提交按钮点击事件处理过程
procedure TfrmVoter.btnSubmitClick(Sender: TObject);
var
i,count: Integer;
//选择的所有城市名称
SelectedCities: string;
//候选城市
chkCity: TCheckBox;
begin
if rgSelectedCitiesCount.ItemIndex = -1 then
begin
// MessageBox(Handle, '请选择城市数目', '提示信息', MB_OK);
ShowMessage('请选择城市数目');
Exit;
end
else
begin
grpCandidateCities.Enabled := True;
end;
count := 0;
for i := 0 to grpCandidateCities.ControlCount - 1 do
begin
chkCity := TCheckBox(grpCandidateCities.Controls[i]);
if chkCity.Checked then
begin
count := count + 1;
if count <=
StrToInt(rgSelectedCitiesCount.Items.Strings[rgSelectedCitiesCount.ItemIndex]) then
begin
SelectedCities := SelectedCities + chkCity.Caption + ' ';
end
else
begin
SelectedCities := '您选择的城市个数太多了';
break;
end;
end;
end;
if count = 0 then
begin
// MessageBox(Handle, '请选择候选城市', '提示信息', MB_OK);
ShowMessage('请选择候选城市');
end;
edtSelectedCities.Text := SelectedCities;
end;
procedure TfrmVoter.frmVoterShow(Sender: TObject);
begin
//rgSelectedCitiesCount.ItemIndex := 0;
end;
//选择城市个数点击事件处理过程
procedure TfrmVoter.rgSelectedCitiesCountClick(Sender: TObject);
begin
grpCandidateCities.Enabled := True;
end;
//重置按钮点击事件处理过程
procedure TfrmVoter.btnResetClick(Sender: TObject);
var
i: Integer;
begin
rgSelectedCitiesCount.ItemIndex := 0;
for i := 0 to grpCandidateCities.ControlCount - 1 do
begin
TCheckBox(grpCandidateCities.Controls[i]).Checked := False;
end;
end;
//反选按钮点击事件处理过程
procedure TfrmVoter.btnInverseClick(Sender: TObject);
var
i: Integer;
chk: TCheckBox;
begin
for i := 0 to grpCandidateCities.ControlCount - 1 do
begin
chk := TCheckBox(grpCandidateCities.Controls[i]);
chk.Checked := not chk.Checked;
end;
end;
end.
运行结果截图: