15,979
社区成员
发帖
与我相关
我的任务
分享
BOOL CxxxxxxDlg::GetMenuPath(HMENU hMenu, UINT uIDM, CStringArray &szPath)
{//按位置搜索ID
int all=GetMenuItemCount(hMenu);
for(int i=0; i < all; i++)
{
int ID=GetMenuItemID(hMenu,i);
char menuName[128];
if(ID==-1)
{// popup menu
if(GetMenuPath(GetSubMenu(hMenu,i), uIDM, szPath))
{
GetMenuString(hMenu , i, menuName, sizeof(menuName), MF_BYPOSITION);
szPath.InsertAt(0, menuName);
return TRUE;
}
}
else if(ID == (int)uIDM) //ID匹配
{
GetMenuString(hMenu , i, menuName, sizeof(menuName), MF_BYPOSITION);
szPath.InsertAt(0, menuName);
return TRUE;
}
}
return FALSE;
}