メニュー項目を使用不可にするには

[戻る]
ららら 2000/02/29(火) 15:51:32
らららです。

メニューのIDの振られている部分、(メニュー項目)が
淡色にできないのです。
(ポップアップ項目はできる)

以下実際のソースです。Viewクラスからボタンを押されたときに
一番左のメニューの上から2番目のメニュー項目を淡色
にしています。(というか、しようとしています。)

void CxxxView::OnButton1() 
{
  CWnd* pWnd   = AfxGetMainWnd();
  CMenu* pMenu = pWnd->GetMenu();
  // サブメニュー取得
  CMenu* pSubMenu = pMenu->GetSubMenu(0);
  pSubMenu->EnableMenuItem(1, MF_BYPOSITION | MF_GRAYED);
  DrawMenuBar();
}
どなたか御教授ください。

ららら 2000/03/01(水) 20:36:47
[[解決]]
らららです。
淡色化の方法わかりました。

WM_INITMENUPOPUPメッセージが来たときに↓

void CMainFrame::OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL
bSysMenu) 
{
    CFrameWnd::OnInitMenuPopup(pPopupMenu, nIndex, bSysMenu);
    
    pPopupMenu->EnableMenuItem(ID_FILE_OPEN,  MF_GRAYED);
}
というようにするだけでした。
わかってしまえば簡単なことでした。

古いスレッドには追加発言できません。