对话框中设置静态文本框字体及颜色

1、添加对话框类声明中字体和颜色变量

[cpp]  view plain  copy
  1. public:  
  2.     CFont m_myFont;     // 字体对象  
  3.     COLORREF m_myColor; // 颜色对象  


2、在对话框初始化函数OnInitDialog()中对字体和颜色进行初始化

[cpp]  view plain  copy
  1. // TODO: 在此添加额外的初始化代码  
  2.   
  3. m_myFont.CreatePointFont(150, _T("华文彩云"));  
  4. m_myColor = RGB(255, 0, 255);  


3、为对话框类添加WM_CTLCOLOR消息响应函数,并在其消息响应函数OnCtlColor()中添加代码

[cpp]  view plain  copy
  1. afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);    // 消息响应函数声明  
[cpp]  view plain  copy
  1. ON_WM_CTLCOLOR()                            // 消息映射  
[cpp]  view plain  copy
  1. HBRUSH CXXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)        // 消息响应函数实现  
  2. {  
  3.     HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);  
  4.   
  5.     // TODO:  在此更改 DC 的任何属性  
  6.     if(pWnd->GetDlgCtrlID()==IDC_STATIC_WEEK)  
  7.     {  
  8.         pDC->SelectObject(&m_myFont);    // 设置字体  
  9.         pDC->SetTextColor(m_myColor);    // 设置颜色  
  10.     }  
  11.     // TODO:  如果默认的不是所需画笔,则返回另一个画笔  
  12.     return hbr;  
  13. }  


参考:
http://blog.csdn.net/zcube/article/details/8476104
http://blog.csdn.net/yanhc519/article/details/7905565
http://blog.csdn.net/lyl0625/article/details/7318088

你可能感兴趣的:(MFC)