void CBCGPMSOffice2007DemoView::SyncFont () { USES_CONVERSION; CString strFontName; // get the current font from the view and update WPD_CHARFORMAT cf = GetCharFormatSelection (); CBCGPRibbonBar* pRibbon = ((CMainFrame*) GetTopLevelFrame ())->GetRibbonBar (); ASSERT_VALID (pRibbon); // sync font name: CBCGPRibbonFontComboBox* pFontCombo = DYNAMIC_DOWNCAST ( CBCGPRibbonFontComboBox, pRibbon->FindByID (ID_FONT_FONT)); if (pFontCombo != NULL && !pFontCombo->HasFocus ()) { if ((cf.dwMask & (CFM_FACE|CFM_CHARSET)) == (CFM_FACE|CFM_CHARSET)) { #if _MSC_VER >= 1300 strFontName = cf.szFaceName; #else strFontName = A2T(cf.szFaceName); #endif pFontCombo->SetFont (strFontName, DEFAULT_CHARSET, TRUE); } else { pFontCombo->SetText(_T("")); } } // sync font size: CBCGPRibbonComboBox* pFontSizeCombo = DYNAMIC_DOWNCAST ( CBCGPRibbonComboBox, pRibbon->FindByID (ID_FONT_FONTSIZE)); if (pFontSizeCombo != NULL && !pFontSizeCombo->HasFocus ()) { pFontSizeCombo->SetEditText (TwipsToPointString (cf.yHeight)); } SetFocus (); }