你要可以年一下API,里在有很详细的说明,我这儿给你二段我已经测试过的代码,你自己看看,
//这个是在一个单文档里做的
        CMainFrame* pMainFrm=(CMainFrame*)AfxGetMainWnd();
//以下注意
//创建字体
CFont* pNewFont=new CFont();
        //断言宏,用以检查Windows API的返回值
VERIFY(pNewFont->CreateFontIndirect(&pMainFrm->logft));
//获取设备上下文
CClientDC dc(this);
//将字体选入设备上下文
CFont* pOldFont=dc.SelectObject (pNewFont);
//用鼠标双击附近显示文本
dc.TextOut(point.x+10,point.y+10,pMainFrm->m_strText);
//恢复原来的字体
dc.SelectObject(pOldFont);
//删除新字体
delete pNewFont;
//以下这一段是在自学一个事例时自己试着写的,也已经测试过
//这一段是为了设置一个属性页而写的
         CEdit& MessageBody=GetEditCtrl();
CString str;
//设置正文中的字体
LOGFONT logft;
//获取字体大小
logft.lfHeight=m_FontSheet.m_Effect.m_bBold?FW_BOLD:FW_NORMAL;
logft.lfItalic=m_FontSheet.m_Effect.m_bItlic;
logft.lfUnderline=m_FontSheet.m_Effect.m_bUnderline;
//设置为系统字体
m_FontSheet.m_Font.m_lstFont.GetText(m_FontSheet.m_Font.m_lstFont.GetCurSel(),str);
logft.lfStrikeOut=FALSE;
//解析字体和字符集
strcpy(logft.lfFaceName,str.Left(str.Find("+")));
logft.lfCharSet=atoi(str.Mid(str.Find("+")));
//new 出来的对象要在适当的时候手动删除
pNewFont=new CFont();
pNewFont->CreateFontIndirect(&logft);
//设置编辑控件字体
MessageBody.SetFont(pNewFont,FALSE);