下拉菜单失效变灰的问题(收)

 我是在vs2005下的 vc ++  mfc的dialog创建的工程,  我的下拉菜单为
    返回    菜单
              开启
              关闭
    我在菜单“开启”的command的命令函数里写了一下代码:
          CMenu* mmenu = GetMenu();
        CMenu* submenu = mmenu->GetSubMenu(1);
        submenu->EnableMenuItem(ID_MENU_EVENT_START, MF_BYPOSITION  | MF_DISABLED| MF_GRAYED);
              想实现单击“开启”菜单后,菜单“开启”变灰失效,这段代码我在vc6.0里调试没有问题,但是在vs2005里,运行后,单击“开启”就出现问题,那位大侠做过类似的请给予指点,谢谢。

 

cytlyy:

SHMENUBARINFO mbi;
HWND g_hwndMb;
ZeroMemory(&mbi, sizeof(SHMENUBARINFO));
mbi.cbSize = sizeof(SHMENUBARINFO);
mbi.hwndParent = m_hWnd;
mbi.nToolBarId = IDR_MENU1;
mbi.hInstRes =AfxGetInstanceHandle();
mbi.dwFlags |= SHCMBF_HMENU;
SHCreateMenuBar(&mbi);
g_hwndMb = mbi.hwndMB;
TBBUTTONINFO tbbi;
HMENU g_hMenu;
tbbi.cbSize = sizeof(tbbi);
tbbi.dwMask = TBIF_LPARAM | TBIF_BYINDEX;
::SendMessage(g_hwndMb, TB_GETBUTTONINFO,0, (LPARAM)&tbbi);
g_hMenu = (HMENU)tbbi.lParam;
::EnableMenuItem(g_hMenu,ID_FILE_OK, MF_GRAYED);
//这样是可以的。如果你的Menu不是在初始化时变灰,就将g_hMenu定义为全局变量然后在相应的地方调用::EnableMenuItem(g_hMenu,ID_FILE_OK, MF_GRAYED);

 

你可能感兴趣的:(command,File,mfc,dialog,menu)