菜单项禁用有关问题
菜单项禁用问题
void Fun(){
CMenu menu;
if(!menu.LoadMenu(IDR_MENUDS)) //载入菜单资源
return;
if(condition){
//!!!!@@@@@禁用ID_MENUDEL菜单项@@@@@@
menu.GetSubMenu(0)-> EnableMenuItem(ID_MENUDEL, MF_DISABLED|MF_GRAYED);
}
pPopMenu-> TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON,
point.x,point.y,this);
}
@@@@部分运行无效,显示的菜单仍然是可用的,不知如何禁用指定项,
高手指点!
------解决方案--------------------
CMenu menu, *popup;
// 装入菜单
menu.LoadMenu(IDR_MENUDS);
popup=menu.GetSubMenu(0);
popup-> EnableMenuItem (ID_MENUDEL, (condition ? MF_GRAYED : MF_ENABLED));
// 显示菜单
popup-> TrackPopupMenu (TPM_LEFTALIGN|TPM_LEFTBUTTON,
point.x, point.y, this);
------解决方案--------------------
void CXXXXXDlg::OnInitMenuPopup( CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu )
{
if (bIsStart)
{
pPopupMenu-> EnableMenuItem(IDOK,MF_GRAYED);
pPopupMenu-> EnableMenuItem(IDC_STOP,MF_ENABLED);
pPopupMenu-> EnableMenuItem(ID_REPORT,MF_ENABLED);
pPopupMenu-> EnableMenuItem(ID_CHAT,MF_ENABLED);
pPopupMenu-> EnableMenuItem(ID_SHOWLIST,MF_ENABLED);
}
else
{
pPopupMenu-> EnableMenuItem(IDOK,MF_ENABLED);
pPopupMenu-> EnableMenuItem(IDC_STOP,MF_GRAYED);
pPopupMenu-> EnableMenuItem(ID_REPORT,MF_GRAYED);
pPopupMenu-> EnableMenuItem(ID_CHAT,MF_GRAYED);
pPopupMenu-> EnableMenuItem(ID_SHOWLIST,MF_GRAYED);
}
}
void Fun(){
CMenu menu;
if(!menu.LoadMenu(IDR_MENUDS)) //载入菜单资源
return;
if(condition){
//!!!!@@@@@禁用ID_MENUDEL菜单项@@@@@@
menu.GetSubMenu(0)-> EnableMenuItem(ID_MENUDEL, MF_DISABLED|MF_GRAYED);
}
pPopMenu-> TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON,
point.x,point.y,this);
}
@@@@部分运行无效,显示的菜单仍然是可用的,不知如何禁用指定项,
高手指点!
------解决方案--------------------
CMenu menu, *popup;
// 装入菜单
menu.LoadMenu(IDR_MENUDS);
popup=menu.GetSubMenu(0);
popup-> EnableMenuItem (ID_MENUDEL, (condition ? MF_GRAYED : MF_ENABLED));
// 显示菜单
popup-> TrackPopupMenu (TPM_LEFTALIGN|TPM_LEFTBUTTON,
point.x, point.y, this);
------解决方案--------------------
void CXXXXXDlg::OnInitMenuPopup( CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu )
{
if (bIsStart)
{
pPopupMenu-> EnableMenuItem(IDOK,MF_GRAYED);
pPopupMenu-> EnableMenuItem(IDC_STOP,MF_ENABLED);
pPopupMenu-> EnableMenuItem(ID_REPORT,MF_ENABLED);
pPopupMenu-> EnableMenuItem(ID_CHAT,MF_ENABLED);
pPopupMenu-> EnableMenuItem(ID_SHOWLIST,MF_ENABLED);
}
else
{
pPopupMenu-> EnableMenuItem(IDOK,MF_ENABLED);
pPopupMenu-> EnableMenuItem(IDC_STOP,MF_GRAYED);
pPopupMenu-> EnableMenuItem(ID_REPORT,MF_GRAYED);
pPopupMenu-> EnableMenuItem(ID_CHAT,MF_GRAYED);
pPopupMenu-> EnableMenuItem(ID_SHOWLIST,MF_GRAYED);
}
}