ダイログのチェックボタン – プログラミング – Home

ダイログのチェックボタン
 
通知
すべてクリア

ダイログのチェックボタン


daia
 daia
(@daia)
ゲスト
結合: 18年前
投稿: 2
Topic starter  

以下は何と解釈すればいいか教えてください。

IsDlgButtonChecked(hwnd , 4) チェック状態を調べ、

戻り値が BST_CHECKEDなら ! で BST_UNCHECKEDになりますか?

BST_UNCHECKED == BST_CHECKED は偽となり0
BST_UNCHECKEDに変更するという事ですか?

戻り値が BST_INDETERMINATEの場合 ! するとどんな値になりますか?

教ええてください。

CheckDlgButton(hwnd , 4 , !(IsDlgButtonChecked(hwnd , 4) == BST_CHECKED)


引用解決済
トピックタグ
かさのば
 かさのば
(@かさのば)
ゲスト
結合: 18年前
投稿: 9
 

申し訳ないのですが、何が言いたいのか良くわかりません

>>戻り値が BST_CHECKEDなら ! で BST_UNCHECKEDになりますか?
とは
!(IsDlgButtonChecked(hwnd , 4) == BST_CHECKED)


返信引用
かさのば
 かさのば
(@かさのば)
ゲスト
結合: 18年前
投稿: 9
 

編集中に送信してしまいました^^;
ついでに説明の仕方を変えます

!(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文の使用を薦めます。


返信引用
daia
 daia
(@daia)
ゲスト
結合: 18年前
投稿: 2
Topic starter  

どうも丁寧な説明ありがとうございます!
たいへん参考になりました!

>戻り値がそれ以外(BST_UNCHECKED,BST_INDETERMINATE)ならTRUEとなります。
等々たいへん勉強になりました。

switch文を使うというのも教えていただきありがとうございます!


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました