想把CEditView的默认字体改成“Courier New”,但是不知道在哪个成员函数OnCreate、 OnInitUpdate或是OnPaint中修改,也不知道是怎么改!那位高手能帮忙解决一下!

解决方案 »

  1.   

    我写的代码如下:
    int CSIPGenCView::OnCreate(LPCREATESTRUCT lpCreateStruct)
    {
    if (CEditView::OnCreate(lpCreateStruct) == -1)
    return -1; // TODO:  在此添加您专用的创建代码
    CFont font;
    LOGFONT lf; lf.lfHeight = -16;
    lf.lfWidth = 0;
    lf.lfEscapement = 0;
    lf.lfOrientation = 0;
    lf.lfWeight = FW_NORMAL;
    lf.lfItalic = FALSE;
    lf.lfUnderline = FALSE;
    lf.lfStrikeOut = FALSE;
    lf.lfCharSet = ANSI_CHARSET;
    lf.lfOutPrecision = OUT_DEFAULT_PRECIS;
    lf.lfClipPrecision = CLIP_DEFAULT_PRECIS;
    lf.lfQuality = DEFAULT_QUALITY;
    lf.lfPitchAndFamily = FF_MODERN;

    _tcscpy(lf.lfFaceName, "CourierNew"); font.CreateFontIndirect(&lf);
    this->SetFont(&font); return 0;
    }发现没什么作用!
      

  2.   


    CFont font;改成成员变量
      

  3.   

    用指针才行,不能用局部变量。
    CFont *font;
    font=new CFont;
    ....
    this->SetFont(font);
    ....
    //不要删除font