7,540
社区成员
发帖
与我相关
我的任务
分享
void CMyF1Dlg::OnContextMenu(CWnd* pWnd , CPoint point )
{
{
if (point.x == -1 && point.y == -1){
CRect rect;
GetClientRect(rect);
ClientToScreen(rect);
point = rect.TopLeft();
point.Offset(5, 5);
}
CMenu subMenu;
subMenu.CreatePopupMenu();
subMenu.InsertMenu( 0, MF_BYPOSITION, IDS_MENU4, _T("E") );
subMenu.InsertMenu( 0, MF_BYPOSITION, IDS_MENU5 ,_T("F") );
subMenu.InsertMenu( 0, MF_BYPOSITION, IDS_MENU6 ,_T("G") );
subMenu.InsertMenu( 0, MF_BYPOSITION, IDS_MENU7 ,_T("H") );
subMenu.EnableMenuItem( IDS_MENU4, MF_BYCOMMAND|MF_GRAYED ); //禁用
CMenu pMenu;
pMenu.CreatePopupMenu();
pMenu.AppendMenu( MF_STRING, IDS_MENU1, _T("A") );
pMenu.AppendMenu( MF_STRING, IDS_MENU2, _T("B") );
pMenu.AppendMenu( MF_STRING, IDS_MENU3, _T("C") );
pMenu.AppendMenu( MF_POPUP,( UINT_PTR )subMenu.m_hMenu,_T( "M") );
pMenu.DeleteMenu( IDS_MENU1, MF_BYCOMMAND );
pMenu.DeleteMenu( IDS_MENU5, MF_BYCOMMAND );
pMenu.EnableMenuItem( IDS_MENU2, MF_BYCOMMAND|MF_GRAYED ); //禁用
pMenu.TrackPopupMenu( TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this );
}
}