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

 我是在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);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值