我用程序来改变DIALOG的背景,同时也改变STATIC的背景,但当我改变完以后字体和字号都变了,下面是改边STATIC是输出STATIC的名称的代码:
pDC->SetBkMode(TRANSPARENT);
CString s;
this->GetWindowText(s);

         pDC->FillRect(&rt,&hbr);
pDC->TextOut(0,0,s);
我要怎么才可以改变STATIC的字体和字号,或者是恢复原来的字体和字号?

解决方案 »

  1.   

    pDC->SetBkMode(TRANSPARENT);
    CString s;
    this->GetWindowText(s);

             pDC->FillRect(&rt,&hbr);
    CFont font ;
    font.create(.....);
    CFont *old = pDC->SelectObject(&font);
    pDC->TextOut(0,0,s);
    pDC->SelectObject(old);
      

  2.   

    static 可以用SetFont来设置字体.
    void SetFont( CFont* pFont, BOOL bRedraw = TRUE );
    Parameters
    pFont
    Specifies the new font.
    bRedraw
    If TRUE, redraw the CWnd object.
    Res
    Sets the window’s current font to the specified font. If bRedraw is TRUE, the window will also be redrawn.可以用GetFont得到当前字体
      

  3.   

    I agree too不过那个CFont 需要在头文件中声明