CMenu menu;
menu.LoadMenu(IDR_MENUCONTEXT);
POINT pp;
::GetCursorPos(&pp);
menu.TrackPopupMenu(TPM_LEFTALIGN,pp.x,pp.y,this);
menu.LoadMenu(IDR_MENUCONTEXT);
POINT pp;
::GetCursorPos(&pp);
menu.TrackPopupMenu(TPM_LEFTALIGN,pp.x,pp.y,this);
你可以在桌面上各个位置点一下右键,弹出菜单也是宽窄不一
我把菜单资源设成view as popup就会这样
改回来
然后这样就解决了
CMenu menu;
menu.LoadMenu(IDR_MENUCONTEXT);
CMenu *pMenu=menu.GetSubMenu(0);
ASSERT(pMenu);
POINT pp;
::GetCursorPos(&pp);
pMenu->TrackPopupMenu(TPM_LEFTALIGN,pp.x,pp.y,this);