我用
      
       LOGFONT lf;       CFont myFont;
      //取得原来的字体类型
       
       myFont.GetLogFont (&lf);
       
       CFontDialog myFontDlg(&lf);

       myFontDlg.GetCurrentFont (&lf);
    
       myFont.CreateFontIndirect (&lf);

       GetEditCtrl().SetFont (&myFont,TRUE);只能修改字体的类型,但是不能修改他的颜色和背景色,哪位高手知道啊,急急急急急急急急急急急急急急急急急急急急急急急!
Thanks!!

解决方案 »

  1.   

    CRichEditView::GetCharFormatSelection
    CRichEditView::SetCharFormat
    CRichEditView::SetParaFormat
    CRichEditView::GetParaFormatSelection
    可能有用
      

  2.   


    //设置字体
    m_EditFont.CreateFont(12,0, 0, 0,
                              FW_NORMAL,
                              0, 0, 0, 0,
                              0, 0, 0, 0,
                              "宋体");
    this->GetEditCtrl().SetFont(&m_EditFont);
    this当然是view自己啦,this->GetEditCtrl()获得的实际是一个cedit,你控制这个edit就行了,
      

  3.   

    LOGFONT lf;
    ::memset(&lf,0,sizeof(LOGFONT));
    CFontDialog dlg(&lf);
    if(dlg.DoMadol()==IDOK)
    {
      CFont font,*pold;
      font.createfontindirect(&lf);
      pold=pDC->selectobject(&font);
      pDC->setbkcolor(RGB(255,0,0));
      pDC->textout(10,10,"hello",4);
      pDC->selectobject(pold);
    }你再修改一下.