
はじめまして。
質問させてください。
VC 2005 MFC を使用して開発しております。
ダイアログベースです。
ポップアップメニューのアイテムをクリックされたら
チェックマークをON OFFしたいのですが、現状うまくいきません。
[現在の方法]
//右クリックで表示
void CAnalogClockDlg::OnRButtonDown(UINT nFlags, CPoint point)
{
CMenu menu;
VERIFY(menu.LoadMenu(IDR_MENU));
CMenu* pPopup = menu.GetSubMenu(0);
ASSERT(pPopup != NULL);
ClientToScreen(&point);
pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, AfxGetMainWnd());
CDialog::OnRButtonDown(nFlags, point);
}
//項目の有効無効時
void CAnalogClockDlg::OnUpdatePopupFore(CCmdUI *pCmdUI)
{
pCmdUI->SetCheck(false);
pCmdUI->SetText(_T("test"));
}
リソースメニューで
[checked] = trueにして
初回表示はチェックありになっているのですが、
pCmdUI->SetCheck(false);
の処理で変更されません。
ちなみにキャプションを変更できません。
何か根本的に間違っているのでしょうか?
詳しい方がおりましたら
ご教授お願いいたします。
No.1ベストアンサー
- 回答日時:
<チェック有効>
GetParent()->GetMenu()->CheckMenuItem(ここに項目ID,MF_BYCOMMAND|MF_CHECKED);
<チェック無効>
GetParent()->GetMenu()->CheckMenuItem(ここに項目ID,MF_BYCOMMAND|MF_UNCHECKED);
これを、“CAnalogClockDlg:OnMeneItem???” のイベントハンドラ
で行えばいくはずですが・・。
No.2
- 回答日時:
<追記>
テキストの変更は
GetParent()->GetMenu()->ModifyMenu(項目ID、MF_BYCOMMAND|MF_STRING、上記同様の項目ID、"テキスト")
でできますよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
MFCでbitmapを背景にしてstaticテキストを透過させる方法
C言語・C++・C#
-
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
ダイアログ表示時にチェックボックスにチェックされている状態にするには?
C言語・C++・C#
-
-
4
ダイアログ内コントロールの位置取得について
C言語・C++・C#
-
5
C++言語で、構造体のコピーは可能(しても良い)のでしょうか?
C言語・C++・C#
-
6
CFileDialogの最初のディレクトリ設定
C言語・C++・C#
-
7
MFCのメニューバーのイベント取得
C言語・C++・C#
-
8
画面を強制的に再描画させる方法
C言語・C++・C#
-
9
リストビューの選択状態を取得するメッセージはありますか?
C言語・C++・C#
-
10
コンボボックス表示文字列を取得する場合
C言語・C++・C#
-
11
CString型 全角半角を意識せずに「1文字」ずつ取り出す
C言語・C++・C#
-
12
CEdit の内容が変わった時にメッセージを表示させたい
C言語・C++・C#
-
13
CFileDialogでフォルダだけを選択させる
C言語・C++・C#
-
14
MFCでハンドルを取得するには
C言語・C++・C#
-
15
ボタンの表示の色、フォントを変更したい
C言語・C++・C#
-
16
VC++にてボタン等のサイズ取得
C言語・C++・C#
-
17
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
18
リソースエディタでスタティックテキストの文字サイズの変更
C言語・C++・C#
-
19
ビットマップ(bmp)形式で背景を透過にできる?
画像編集・動画編集・音楽編集
-
20
Tabコントロールに貼り付けたダイアログ内のフォーカス移動について
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ボタンの配置を変更したい
-
vbscriptで、ファイル選択ダイ...
-
ボタンの表示の色、フォントを...
-
メッセージボックスのボタン文...
-
MFCダイアログボックスを最前面...
-
'int' から 'LPCSTR' に変換で...
-
ショートカットキーをカスタマ...
-
メッセージボックスを大きくす...
-
ダイアログの上のテキストボッ...
-
MFC ポップアップメニューのチ...
-
Microsoft Visual C++ 6.0でダ...
-
ダイアログに表示されるアイコ...
-
【MFC】sleep関数を用いたモー...
-
C# ボタンコントロール内で文字...
-
CWnd::SetCapture()の動作について
-
フォーム上のリストボックスに...
-
Visual C++のダイアログ編集画...
-
グラフの交点の求め方(Excel)
-
「アイテムは収集されました」...
-
コントロールの書式設定で、“コ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メッセージボックスを大きくす...
-
フォーム上のリストボックスに...
-
ボタンの表示の色、フォントを...
-
ダイアログの上のテキストボッ...
-
リソースファイルとは・・・
-
ボタンの配置を変更したい
-
コンボボックスのドロップダウ...
-
'int' から 'LPCSTR' に変換で...
-
ダイアログボックスで指定した...
-
C# ボタンコントロール内で文字...
-
メッセージボックスのボタン文...
-
ダイアログの一部を半透明化す...
-
vbscriptで、ファイル選択ダイ...
-
【MFC】sleep関数を用いたモー...
-
【VC++2005】ダイアログサイズ...
-
Visual C++のダイアログ編集画...
-
MFCのリストボックスについて
-
エディットボックスの処理で画...
-
ダイアログを自分の好きな位置...
-
MFCダイアログボックスを最前面...
おすすめ情報