ダイアログに関連付けたメニューのハンドル取得に苦戦してしまった。
リソースエディタ上でダイアログにメニューを関連付けた場合のハンドルは、
LoadMenu() ではなく GetMenu() で取得します。
LoadMenu() は新規に読み込んでしまうので、ダイアログメニューに反映
させることが当然出来ません。
またよく間違えてしまうのですが、メニュー項目にチェックを入れたりするのは、CheckDlgButton() では無く CheckMenuItem() になりますね。
状態を取得するのは IsDlgButtonChecked() ではなく、GetMenuState() の
下位バイトで判定。
if( GetMenuState( hMenu, ID_HOGE, MF_BYCOMMAND ) & MFS_CHECKED ){
}
}
忘却の彼方に行ってたので、メニューの扱いにハマった。
0 コメント:
コメントを投稿