void CMLTView::OnContextMenu(CWnd*, CPoint point) { CConfigToolDoc* pDoc = CConfigTool::GetConfigToolDoc(); if (!pDoc->strSelectedRegion.IsEmpty() || !pDoc->strSelectedSection.IsEmpty()){ if(point.x<0){ // Keyboard point=!pDoc->strSelectedRegion.IsEmpty()?m_rectSelectedItem.TopLeft():m_rectSelectedItem.CenterPoint(); ClientToScreen(&point); } Menu menu; menu.LoadMenu(IDR_MLTVIEW_POPUP); #ifndef PLUGIN menu.LoadToolbar(IDR_MISCBAR); #endif Menu *pPopup=(Menu *)menu.GetSubMenu(0); pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_RIGHTBUTTON, point.x,point.y,this); } }