void CMainFrame::OnButtonEditclass( ) { if ( gbClassBrowser ) { CDialogClasses dlg; dlg.DoModal( ); } else { // TODO:instead of menu popup a window CMFCRibbonBaseElement* pButton = m_wndRibbonBar.FindByID( ID_BUTTON_EDITCLASS ); CRect pos = pButton->GetRect( ); ClientToScreen( &pos ); CMenu menu; menu.CreatePopupMenu( ); for ( UINT m = 0; m < theApp.Classes.size( ); m++ ) { CString MenuItem; MenuItem.Format( "%i - %s", m, theApp.Classes[m]->Name ); menu.AppendMenu( MF_STRING | MF_ENABLED, WM_CLASSMENU + m, MenuItem ); } menu.TrackPopupMenu( TPM_LEFTALIGN | TPM_HORNEGANIMATION, pos.left, pos.bottom, this ); } }
void CMainFrame::OnButtonDeleteclass() { CMFCRibbonBaseElement* pButton = m_wndRibbonBar.FindByID(ID_BUTTON_DELETECLASS); CRect pos = pButton->GetRect( ); ClientToScreen( &pos ); CMenu menu; menu.CreatePopupMenu( ); for ( UINT m = 0; m < theApp.Classes.size( ); m++ ) { menu.AppendMenu( MF_STRING | MF_ENABLED, WM_DELETECLASSMENU + m, theApp.Classes[m]->Name ); } menu.TrackPopupMenu( TPM_LEFTALIGN | TPM_HORNEGANIMATION, pos.left, pos.bottom, this ); }