メニューのキャプションの動的変更 – プログラミング – Home

メニューのキャプションの動的変更
 
通知
すべてクリア

[解決済] メニューのキャプションの動的変更


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

こんにちは。
早速ですが質問です。

メニューのキャプションを動的に変更したいのです。
具体的には、

ファイル(F) 編集(E) 表示(V) ・・・・
  |開く  |
  |新規  |
  |hoge2 |←ここをhoge4にしたい。
  |hoge3 |
  |・・・ |

のです。

よろしくお願いします。

WinXP VS2005 MFC ダイアログべース


引用未解決
トピックタグ
aharen
 aharen
(@aharen)
ゲスト
結合: 18年前
投稿: 25
 

ずばりの答えにはなりませんが
オーナードローメニューやビットマップメニューで検索すると参考情報が
得られると思います

わたくしも似たような必要がありましたそのときは
http://www.vcppclub.com/samples/ctrl/p_menuex/menuex.html
がすごく役立ちました


返信引用
YuO
 YuO
(@YuO)
ゲスト
結合: 22年前
投稿: 320
 

SetMenuItemInfoで変更できます。

TCHAR buf[] = TEXT(新メニュー文字列);
MENUITEMINFO mii = { sizeof(mii) };
mii.fMask = MIIM_STRING;
mii.dwTypeData = buf;

pMenu->SetMenuItemInfo(2, &mii, TRUE);


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

CMenuクラスのModifyMenuでできそうな。

// CMainFrameクラス以外ならば、AfxGetMainWnd()->GetMenu()で取得する。
CMenu* pMenu = this->GetMenu();
CMenu* pSubMenu = pMenu->GetSubMenu( 0 );

UINT id = pSubMenu->GetMenuItemID( 2 );
pSubMenu->ModifyMenu( 2, MF_BYPOSITION | MF_STRING, id, TEXT( hoge ) );


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

CCmdUI機構でもできます。

void クラス::OnUpdateHoge2(CCmdUI* pCmdUI)
{
pCmdUI->SetText(_T(hoge4));
}


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

返信遅くなってすいません。

解決いたしました。

ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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