MFC中改變字體及背景色

1、改變控件中字體的大小及樣式
CFont m_lFont;
void xx::changeListFontSize(void)
{
 m_lFont.CreateFont(  
  25,    //nHeight  
  0,                              //nWidth  
  0,    //nEscapement  
  0,    //nOrientation  
  //FW_NORMAL,   //nWeight
  FW_MEDIUM,
  //FW_SEMIBOLD,
  FALSE,                          //bItalic  
  FALSE,                          //bUnderline  
  0,                              //cStrikeOut  
  //   ANSI_CHARSET,    
  DEFAULT_CHARSET,  //nCharSet  
  OUT_DEFAULT_PRECIS,             //nOutPrecision  
  CLIP_DEFAULT_PRECIS,            //nClipPrecision  
  DEFAULT_QUALITY,                //nQuality  
  DEFAULT_PITCH   |   FF_SWISS,   //nPitchAndFamily  
  _T("隸書"));  
 GetDlgItem(IDC_LIST_MUSIC)->SetFont(&m_lFont);
 GetDlgItem(IDC_STATIC_MUSIC)->SetFont(&m_lFont);
}
2、改變ListCtrl中表頭字體的大小及樣式
CFont m_hFont;
void xx::changePriceListHeadFontSize(void)
{
 m_hFont.CreateFont(  
  18,    //nHeight  
  0,                              //nWidth  
  0,    //nEscapement  
  0,    //nOrientation  
  FW_NORMAL,   //nWeight
  //FW_MEDIUM,
  //FW_SEMIBOLD,
  FALSE,                          //bItalic  
  FALSE,                          //bUnderline  
  0,                              //cStrikeOut  
  //   ANSI_CHARSET,    
  DEFAULT_CHARSET,  //nCharSet  
  OUT_DEFAULT_PRECIS,             //nOutPrecision  
  CLIP_DEFAULT_PRECIS,            //nClipPrecision  
  DEFAULT_QUALITY,                //nQuality  
  DEFAULT_PITCH   |   FF_SWISS,   //nPitchAndFamily  
  _T("黑體"));
 CHeaderCtrl* pHeaderCtrl = m_priceList.GetHeaderCtrl();
 pHeaderCtrl->SetFont(&m_hFont);
}
3、改變窗體背景色、靜態框、編輯框背景色,listctrl背景色
CBrush m_brush;
在初始化中:
 GetParentFrame()->RecalcLayout();
 m_brush.CreateSolidBrush(RGB(140,20,15));
重寫OnCtlColor
HBRUSH xx::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
 HBRUSH hbr = CFormView::OnCtlColor(pDC, pWnd, nCtlColor);

 // TODO: Change any attributes of the DC here
 if (nCtlColor == CTLCOLOR_EDIT )
 {
  if (pWnd == GetDlgItem(IDC_EDT_TEXT) || pWnd == GetDlgItem(IDC_EDT_PRICE))
  {
   pDC->SetTextColor(RGB(255,255,255));
   pDC->SetBkMode(TRANSPARENT); //背景設爲透明
  }
 }
 if (nCtlColor == CTLCOLOR_STATIC)
 {
  pDC->SetTextColor(RGB(255,255,255));
  HBRUSH   hNullBr   =   (HBRUSH)::GetStockObject(NULL_BRUSH);
  pDC->SetBkMode(TRANSPARENT); //背景設爲透明
  return hNullBr;
 }
 // TODO: Return a different brush if the default is not desired
 return m_brush;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章