我基于CEditView 建立了一个单文档的工程。有一个字体选择对话框,类名为CSize.我的目标是: 通过字体选择对话框来控制视图中的字体。举例说明:我在对话框中选择了字体一,确定后我在视图中再敲入字符就会以字体一的样式来显示 。请问如何实现??
 

解决方案 »

  1.   

    谢谢楼上的,这个我明白。我在 CMySize::OnBnClickedOk()中这样写:
     CFont font;
       VERIFY(font.CreateFont(
       12,                        // nHeight
       0,                         // nWidth
       0,                         // nEscapement
       0,                         // nOrientation
       FW_NORMAL,                 // nWeight
       FALSE,                     // bItalic
       FALSE,                     // bUnderline
       0,                         // cStrikeOut
       ANSI_CHARSET,              // nCharSet
       OUT_DEFAULT_PRECIS,        // nOutPrecision
       CLIP_DEFAULT_PRECIS,       // nClipPrecision
       DEFAULT_QUALITY,           // nQuality
       DEFAULT_PITCH | FF_SWISS,  // nPitchAndFamily
       _T("Arial")));             // lpszFacename
    }
        CClientDC dc(this);    //  这里不对吧?? 但我不知道怎么样才能获得视图类的指针??
        CFont* def_font = dc.SelectObject(&font);
        dc.SelectObject(def_font);
      

  2.   

    在MainWind里用下面这句
    this->GetActiveView()->GetDC()
      

  3.   

    你把选择自己的处理放在ondraw中进行处理
    void CMy11122View::OnDraw(CDC* pDC)
    {
    CMy11122Doc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    // TODO: add draw code for native data hereCFont* def_font = pDC->SelectObject(&font);      处理................中
        pDC->SelectObject(def_font);
    }
      

  4.   

    你应该在视图类里面创建字体,并用SetFont设置到视图上。