我自定义一个倾斜的字体,在试图类中可以很好的按要求显示,但把相同的字体用在对话框中,(一个cstatic控件)却总是显示粗体,而不是我定义的字体?

解决方案 »

  1.   

    试图类的代码 CFont font;
    font.CreateFont(100,100,900,900,FW_BOLD,0,false,false,ANSI_CHARSET,
    OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,
    DEFAULT_QUALITY,FF_DONTCARE,"chuizhi");
    pDC->SelectObject(&font);
    pDC->TextOut(100,400,"ABCabc");
    pDC->SelectStockObject(WHITE_BRUSH);对话框开始用的上面的字体,不行,后来改为下面的,还是不行?
    WHY?WHY?WHY?WHY?WHY?WHY?WHY?WHY?WHY?
    CFont font; 
    LOGFONT log; 
    GetObject(::GetStockObject(DEFAULT_GUI_FONT),sizeof(log),&log); 
    log.lfHeight=10;  //改 
    log.lfWidth=20;   //改 
    log.lfCharSet=GB2312_CHARSET; 
    //lstrcpy(log.lfFaceName,"黑体"); 
    font.CreateFontIndirect(&log); 
    m_static.SetFont(&font);
      

  2.   

    因为MapMode不一样,以至那个字体无法用于cstatic控件,被SYSTEM字体替代了。
    CFont font;
    font.CreatePointFont(150,"宋体");//以点为单位肯定行
    GetDlgItem(IDC_YOURSTATIC)->SetFont(&font);
      

  3.   

    应该可以的。
    从CStatic类中继承一人类作为自己的静态类,在类的OnPaint()中使用 CFont font;
    font.CreateFont(100,100,900,900,FW_BOLD,0,false,false,ANSI_CHARSET,
    OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,
    DEFAULT_QUALITY,FF_DONTCARE,"chuizhi");
    pDC->SelectObject(&font);
    pDC->TextOut(100,400,"ABCabc");
    pDC->SelectStockObject(WHITE_BRUSH);
    这些代码就可以啦