MFC 6 で CHARFORMATW
SetSelectionCharFormat では,CHARFORMATA になっている様なので
CString faceName= FontFace.GetFaceName() ;
{
CHARRANGE selCR ;
m_CtrlRichEdit.GetSel(selCR) ;
{
m_CtrlRichEdit.SetSel(0,-1) ;
#ifdef _UNICODE
CHARFORMATW cf ; ::ZeroMemory(&cf,sizeof(CHARFORMATW)) ; cf.cbSize = sizeof(CHARFORMATW) ;
#else
CHARFORMAT cf ; ::ZeroMemory(&cf,sizeof(CHARFORMAT)) ; cf.cbSize = sizeof(CHARFORMAT) ;
#endif
::TcsNCpy(cf.szFaceName,LF_FACESIZE-1,faceName,LF_FACESIZE-1) ;
cf.dwMask = CFM_FACE ;
#ifdef _UNICODE
m_CtrlRichEdit.SendMessage(EM_SETCHARFORMAT,SCF_SELECTION,(LPARAM)&cf) ;
#else
m_CtrlRichEdit.SetSelectionCharFormat(cf) ;
#endif
}
m_CtrlRichEdit.SetSel(selCR) ;
}