掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
SDIメニューにチェックをいれるには (ID:52837)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>> ポップアップメニューにしたため サブメニューのことですか? ならば、一つ上、あるいは一つ下の 項目から、該当項目を指定して変更してやればよいのでは。 下の例では3番目の項目から2番目の項目を変更しています。 たとえば次のようにメニューが表示されていて、 ---------- [TEST000 ] [TEST001>] [TEST002 ] TEST001 にチェックをつけたいとき、 TEST002 の ON_UPDATE_COMMAND_UI ハンドラを追加。 pMenu が NULL のこともあるので注意。 void CMainFrame::OnUpdateTest002(CCmdUI* pCmdUI) { // ON_UPDATE_COMMAND_UI CMenu * pMenu = pCmdUI->m_pMenu; if( pMenu ) { pMenu->CheckMenuItem( 1, MF_BYPOSITION | MF_CHECKED ); } } でも、全てポップアップだけのときはどうするんだろう。 ダミーでポップアップでない項目を入れておき、 その項目のON_UPDATE_COMMAND_UIでほかの項目に チェックをつけ、その項目自身は削除するのかな。 やってみよう。 void CMainFrame::OnUpdateTest002(CCmdUI* pCmdUI) { // ON_UPDATE_COMMAND_UI CMenu * pMenu = pCmdUI->m_pMenu; if( pMenu ) { pMenu->CheckMenuItem( 1, MF_BYPOSITION | MF_CHECKED ); pMenu->DeleteMenu( 2, MF_BYPOSITION ); } } テストはうまくいきました。 これで、全てサブメニューでもチェックの操作ができます。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.