VC++修改控件文字大小和颜色

修改控件文字大小代码比较简单如下:


CFont *stFont4;
    stFont4 = new CFont;
    stFont4->CreateFont(
        28,                         // nHeight字体大小
        0,                         // nWidth
        0,                         // nEscapement
        0,                         // nOrientation
        FW_BOLD,                   // 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("黑体")                // lpszFac字体类型
    );



    CWnd *pWnd = GetDlgItem(IDC_STATIC1); //获取标识号为IDC—USER的控件的CWnd指针

    pWnd->SetFont(stFont4, TRUE);

修改控件颜色就复杂点了.

第一步,在.h文件定义消息函数


afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);


第二步,在.cpp文件头声明消息函数


BEGIN_MESSAGE_MAP(CAuctionShadowDlg, CDialog)
    ON_WM_SYSCOMMAND()
    ON_WM_PAINT()
	ON_WM_CTLCOLOR() //字体颜色
    ON_WM_QUERYDRAGICON()
    //}}AFX_MSG_MAP
    ON_WM_KEYDOWN()

END_MESSAGE_MAP()

最后才是响应消息函数


HBRUSH CAuctionShadowDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
 HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
 if(pWnd->GetDlgCtrlID() == IDC_STATIC6||pWnd->GetDlgCtrlID() == IDC_STATIC5) //多行edit控件
 {
  pDC->SetTextColor(RGB(220,20,60)); //设置字体颜色
  return hbr;
 }
 else
 {
  
  return hbr;
 }
}



你可能感兴趣的:(VC++,控件,字体,颜色)