void CMainFrame::AdjustColorsMenu (CMFCPopupMenu* pMenuPopup, UINT uiID) { CMFCPopupMenuBar* pMenuBar = pMenuPopup->GetMenuBar (); ASSERT (pMenuBar != NULL); if (pMenuBar == NULL) { return; } int iIndex = pMenuBar->CommandToIndex (uiID); if (iIndex < 0) { return; } if (DYNAMIC_DOWNCAST (CMFCColorMenuButton, pMenuBar->GetButton (iIndex)) != NULL) { return; } CMFCColorMenuButton* pColorButton = m_wndFormatBar.CreateColorButton (); pMenuBar->ReplaceButton (ID_CHAR_COLOR, *pColorButton, TRUE); delete pColorButton; }