以下は何と解釈すればいいか教えてください。
IsDlgButtonChecked(hwnd , 4) チェック状態を調べ、
戻り値が BST_CHECKEDなら ! で BST_UNCHECKEDになりますか?
BST_UNCHECKED == BST_CHECKED は偽となり0
BST_UNCHECKEDに変更するという事ですか?
戻り値が BST_INDETERMINATEの場合 ! するとどんな値になりますか?
教ええてください。
CheckDlgButton(hwnd , 4 , !(IsDlgButtonChecked(hwnd , 4) == BST_CHECKED)
申し訳ないのですが、何が言いたいのか良くわかりません
>>戻り値が BST_CHECKEDなら ! で BST_UNCHECKEDになりますか?
とは
!(IsDlgButtonChecked(hwnd , 4) == BST_CHECKED)
編集中に送信してしまいました^^;
ついでに説明の仕方を変えます
!(IsDlgButtonChecked(hwnd , 4) == BST_CHECKED)
上記式ですが、関係演算子「!」は否定を表しますので
IsDlgButtonChecked(hwnd , 4)の戻り値がBST_CHECKEDなら「IsDlgButtonChecked
(hwnd , 4) == BST_CHECKED」がTRUEとなり「!(TRUE)」ということになるので結果は
FALSEとなります。
また、戻り値がそれ以外(BST_UNCHECKED,BST_INDETERMINATE)ならTRUEとなります。
なので
>>戻り値が BST_CHECKEDなら ! で BST_UNCHECKEDになりますか?
コレに対する答えはNOです
!(BST_CHECKED)は「BST_CHECKEDではない」というだけであって、BST_UNCHECKEDとイコ
ールであるとはなりません。
とまぁ、こんな感じでどうでしょう?
#チェックボタンの状態で処理を分けたいのであればswitch文の使用を薦めます。
どうも丁寧な説明ありがとうございます!
たいへん参考になりました!
>戻り値がそれ以外(BST_UNCHECKED,BST_INDETERMINATE)ならTRUEとなります。
等々たいへん勉強になりました。
switch文を使うというのも教えていただきありがとうございます!