void CNuGenDimensionView::OnRButtonDown(UINT nFlags, CPoint point) { CChildFrame* pFrame = static_cast<CChildFrame*>(GetParentFrame()); if (!pFrame->m_commander && !Drawer::CurrentHotObject) { CEGMenu menu; menu.CreatePopupMenu(); int nItem=0; UINT chs=0; chs = (sgGetScene()->GetObjectsList()->GetCount()!=0)?MF_ENABLED:MF_GRAYED; menu.InsertMenu(nItem++, MF_BYPOSITION|chs, ID_ALL_SCENE_VIEW, GetLeftHalfOfString(ID_ALL_SCENE_VIEW)); menu.InsertMenu(nItem++, MF_BYPOSITION|MF_SEPARATOR); chs = (!m_Camera.m_bPerspective)?MF_CHECKED:0; menu.InsertMenu(nItem++, MF_BYPOSITION|chs , ID_PARALL_PROJ, GetLeftHalfOfString(ID_PARALL_PROJ)); chs = (m_Camera.m_bPerspective)?MF_CHECKED:0; menu.InsertMenu(nItem++, MF_BYPOSITION|chs, ID_PERSPECT_PROJ, GetLeftHalfOfString(ID_PERSPECT_PROJ)); menu.InsertMenu(nItem++, MF_BYPOSITION|MF_SEPARATOR); chs = (m_Camera.m_enumCameraPosition==CP_FRONT)?MF_CHECKED:0; menu.InsertMenu(nItem++, MF_BYPOSITION|chs, ID_FRONT_VIEW, GetLeftHalfOfString(ID_FRONT_VIEW)); chs = (m_Camera.m_enumCameraPosition==CP_BACK)?MF_CHECKED:0; menu.InsertMenu(nItem++, MF_BYPOSITION|chs, ID_BACK_VIEW, GetLeftHalfOfString(ID_BACK_VIEW)); chs = (m_Camera.m_enumCameraPosition==CP_TOP)?MF_CHECKED:0; menu.InsertMenu(nItem++, MF_BYPOSITION|chs , ID_TOP_VIEW, GetLeftHalfOfString(ID_TOP_VIEW)); chs = (m_Camera.m_enumCameraPosition==CP_BOTTOM)?MF_CHECKED:0; menu.InsertMenu(nItem++, MF_BYPOSITION|chs , ID_BOTTOM_VIEW, GetLeftHalfOfString(ID_BOTTOM_VIEW)); chs = (m_Camera.m_enumCameraPosition==CP_LEFT)?MF_CHECKED:0; menu.InsertMenu(nItem++, MF_BYPOSITION|chs, ID_LEFT_VIEW, GetLeftHalfOfString(ID_LEFT_VIEW)); chs = (m_Camera.m_enumCameraPosition==CP_RIGHT)?MF_CHECKED:0; menu.InsertMenu(nItem++, MF_BYPOSITION|chs , ID_RIGHT_VIEW, GetLeftHalfOfString(ID_RIGHT_VIEW)); menu.InsertMenu(nItem++, MF_BYPOSITION|MF_SEPARATOR); chs = (m_Camera.m_enumCameraPosition==CP_ISO_FRONT)?MF_CHECKED:0; menu.InsertMenu(nItem++, MF_BYPOSITION|chs, ID_ISO_FRONT_VIEW, GetLeftHalfOfString(ID_ISO_FRONT_VIEW)); chs = (m_Camera.m_enumCameraPosition==CP_ISO_BACK)?MF_CHECKED:0; menu.InsertMenu(nItem++, MF_BYPOSITION|chs , ID_ISO_BACK_VIEW, GetLeftHalfOfString(ID_ISO_BACK_VIEW)); //menu.InsertMenu(nItem++, MF_BYPOSITION|MF_SEPARATOR); menu.LoadToolBar( cm_icons, RGB(0,0,0) ); //menu.SetDefaultItem(ID_EDIT_PASTE); CRect clR; GetWindowRect(&clR); menu.TrackPopupMenu( TPM_LEFTALIGN | TPM_LEFTBUTTON | TPM_RIGHTBUTTON|0x0000, point.x+clR.left,point.y+clR.top, this); } else { if (pFrame->m_commander) { CRect clR; GetWindowRect(&clR); pFrame->CommanderContextMenu(point.x+clR.left,point.y+clR.top); } else if (Drawer::CurrentHotObject) { CRect clR; GetWindowRect(&clR); pFrame->EditCommanderContextMenu(point.x+clR.left,point.y+clR.top); } } COpenGLView::OnRButtonDown(nFlags, point); }