MFCのメニューバーの項目ににチェックを付加したいのですが – プログラミング – Home

MFCのメニューバーの項目ににチェック...
 
通知
すべてクリア

[解決済] MFCのメニューバーの項目ににチェックを付加したいのですが


ちゃりんこ
 ちゃりんこ
(@ちゃりんこ)
ゲスト
結合: 17年前
投稿: 3
Topic starter  

宜しくお願いします。
環境 VS2005/MFC
ダイアログベースのプログラムにメニューバーを付加しています

例として
IEの表示→ステータスバーはチェックの表示・非表示ができます

MFCでその機能を実装できないでしょうか?
欲を言えばチェックボックスが付ならばベストなのですが
メニューバーのプロパティにCheckedという項目がありますがこの項目を
メンバー変数にできればできそうな気がするんですがいかがなものでしょうか。


引用未解決
トピックタグ
oops
 oops
(@oops)
ゲスト
結合: 17年前
投稿: 28
 

※敢えて回答はしません

質問する前に調べてみた?
MSDNライブラリで検索したらすぐ答えは出る。
それでも無理やったらyahooでもgoogleでも検索したらなんぼでもサンプルソースはでて
くる。

自分なりにでも実験を繰り返して、それでも出来なかったときに質問するべきやと思うよ。


返信引用
ちゃりんこ
 ちゃりんこ
(@ちゃりんこ)
ゲスト
結合: 17年前
投稿: 3
Topic starter  

oopsさんへ
>質問する前に調べてみた?
調べましたが、検索する単語がよくなかったみたいです
その後も調べて、ここを参考に下記のようにしてみたのですが、
http://www.m--takahashi.com/bbs/pastlog/A4500/A4435.html
各メニューをマウスでクリックしたら
追加した関数へイベントは飛んでくるのですが肝心のチェックが付きません。
どこが問題なのでしょうか。

UPDATE_COMMAND_UI メッセージハンドラを定義。
CDlg クラスにデータメンバ UINT m_nState を追加。
コンストラクタなどで初期値として ID_DAY を設定。
________________
|ファイル 設 定| IDR_MAIN_MENU
------------------
|終了| |チェック1| ID_DAY
---- ----------
|チェック2| ID_WEEK
----------
|チェック3| ID_MONTH
----------

void CDlg::OnUpdateDay(CCmdUI *pCmdUI)
{
pCmdUI->SetCheck(m_nState == ID_DAY ? 1 : 0);
}

void C***Dlg::OnUpdateWeek(CCmdUI *pCmdUI)
{
pCmdUI->SetCheck(m_nState == ID_WEEK ? 1 : 0);
}

void C***Dlg::OnUpdateMonth(CCmdUI *pCmdUI)
{
pCmdUI->SetCheck(m_nState == ID_MONTH ? 1 : 0);
}

void CDlg::OnDay()
{
m_nState = ID_DAY;
RedrawWindow();
}

void CDlg::OnWeek()
{
m_nState = ID_WEEK;
RedrawWindow();
}

void C***Dlg::OnMonth()
{
m_nState = ID_MONTH;
RedrawWindow();
}


返信引用
oops
 oops
(@oops)
ゲスト
結合: 17年前
投稿: 28
 

http://support.microsoft.com/kb/242577/ja

ダイアログベースだとこうなるみたい。


返信引用
ちゃりんこ
 ちゃりんこ
(@ちゃりんこ)
ゲスト
結合: 17年前
投稿: 3
Topic starter  

oopsさん
thxです旨くいきました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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