如题!

解决方案 »

  1.   

    CWnd::SetFont
    This method sets the current font of the window to the specified font.void SetFont( 
    CFont* pFont, 
    BOOL bRedraw = TRUE ); 注意要给Static的控件改ID号
      

  2.   

    将标签的字体放大两倍
    CStatic *pStat = (CStatic*)GetDlgItem(IDC_STATIC_TEST);
    CFont *pFont = pStat->GetFont();
    LOGFONT lf;
    pFont->GetLogFont(&lf);
    lf.lfHeight = lf.lfHeight * 2;
    pFont->DeleteObject();
    pFont->CreateFontIndirect(&lf);
    pStat->SetFont(pFont);
    pFont->DeleteObject();
      

  3.   

    建立一个字体,然后m_Static.SetFont(&m_Font);
      

  4.   

    http://www.codeguru.com/cpp/controls/staticctrl/article.php/c2927/
      

  5.   

    先用CFont建立一个字体,设置字体的各种参数要用到LOGFONT结构生成的一个变量,例如logfont,然后使用CreateFontIndirect(&logfont);再用SetFont()http://www.codeguru.com/code/legacy/staticctrl/NewLabel_demo.zip
      

  6.   

    请问各位,LOGFONT结构里没有颜色的信息,我要改变颜色怎么办!CSTatic好像没有setcolor()函数?
      

  7.   

    http://www.codeguru.com/Cpp/controls/staticctrl/article.php/c2909/
      

  8.   

    我也是用CFont类,不过要注意 CFont * ft和CFont ft;的区别!
      

  9.   

    请问各位,LOGFONT结构里没有颜色的信息,我要改变颜色怎么办!CStatic好像没有setcolor()函数?可不可以就用vc自带的static控件实现颜色的变换!
      

  10.   

    请问有没有人知道在需要时如何发出消息WM_CTLCOLOR以
    处理WM_CTLCOLOR消息:参考
    HBRUSH  CMyDaExDlg::OnCtlColor(CDC*  pDC,  CWnd*  pWnd,  UINT  nCtlColor)    
    {  
           HBRUSH  hbr=CDialog::OnCtlColor(pDC,  pWnd,  nCtlColor);  
           if(CTLCOLOR_STATIC == nCtlColor)  
           {  
              pDC->SetBkColor(RGB(0,0,0));
     pDC->SetTextColor(RGB(255,255,255));
     hbr = CreateSolidBrush(RGB(0,0,0));
     return hbr;
           }  
    }  
      

  11.   

    从CStatic继承一个类CMyStatic然后添加WM_CTLCOLOR反射消息HBRUSH CMyStatic::CtlColor(CDC* pDC, UINT nCtlColor) 
    {
    pDC->SetBkMode(TRANSPARENT);
    pDC->SetTextColor(RGB(255,0,0));

    brush.DeleteObject(); //放在类变量里
    brush.CreateStockObject(NULL_BRUSH); return (HBRUSH)brush.m_hObject;
    }