Value(CheckBox, OptionButton)
・CheckBox
CheckBoxの Valueプロパティはチェックボックスの状態を表します。Delphiの TCheckBoxコンポーネントは通常の True/Falseで判断できる 「Checked」プロパティと チェック/未チェック/どちらでもない の三つの状態から判断できる 「State」プロパティがあります。(Delphi3では TCheckBoxをリスト化した TCheckListコンポーネントもあります。)
Stateプロパティの値 値 意味 cbChecked チェック状態 cbUnchecked チェックしていない状態 cbGrayed どっちでも無い状態
・OptionButton
OptionButtonの Valueプロパティは True/Falseのどちらかしかありません。Delphiでは TRadioButtonの 「Checked」プロパティで判断可能です。(Delphiには RadioButtonをリスト化した非常に便利な RadioGroupコンポーネントがあります。)
■ TCheckBoxの Checked, Stateの使用例 procedure TForm1.Button1Click(Sender: TObject); begin if CheckBox1.Checked then begin {チェック状態ならメモ帳起動} ShellExecute(Handle, 'open', 'Notepad.exe', '', 'c:\', SW_SHOW); end; case CheckBox1.State of {未チェック状態} cbUnchecked : ShowMessage('チェックしていない!'); {チェック状態} cbChecked : ShowMessage('チェックしている!'); {どっちでもない状態} cbGrayed : ShowMessage('どっち?'); end; end; procedure TForm1.Button2Click(Sender: TObject); begin {どっちでも無い状態にする} CheckBox1.State := cbGrayed; end;
■ TRadioButtonの Checkedの使用例 procedure TForm1.Button1Click(Sender: TObject); begin if RadioButton1.Checked then begin {チェック状態ならメモ帳起動} ShellExecute(Handle, 'open', 'Notepad.exe', '', 'c:\', SW_SHOW); end; end;
■ TCheckListの使用例 procedure TForm1.Button1Click(Sender: TObject); var ix : integer; begin {チェックリストからチェックされているものだけリストボックスへ} for ix := 0 to CheckListBox1.Items.Count - 1 do begin if CheckListBox1.Checked[ix] then begin {リストボックスへ追加} ListBox1.Items.Add(CheckListBox1.Items[ix]); end; end; end;
■ TRadioGroupの使用例 procedure TForm1.Button1Click(Sender: TObject); begin case RadioGroup1.ItemIndex of 0 : ShowMessage('最初の項目!'); 1 : ShowMessage('二番目の項目!'); 2 : ShowMessage('三番目の項目!'); else {選ばれている項目の内容を表示} ShowMessage(RadioGroup1.Items[RadioGroup1.ItemIndex]); end; end;