处理WM_CTLCOLOR消息

来源:互联网 发布:小米换手机 迁移数据 编辑:程序博客网 时间:2024/05/16 06:29

COLORREF m_clrText;   //记录文本颜色
COLORREF m_clrBkgnd; //记录背景颜色
CBrush m_brBkgnd;  //用于绘制背景的刷子

m_clrText = RGB( 0, 0, 0 );
m_clrBkgnd = RGB(255, 255, 255);
m_brBkgnd.CreateSolidBrush(m_clrBkgnd);

HBRUSH CPlayWaveDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
 int nId;
 
 HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
 
 switch (nCtlColor)
 {
 case CTLCOLOR_EDIT:
 case CTLCOLOR_STATIC: //CEdit为只读时相当于STATIC
  nId = pWnd->GetDlgCtrlID();
  if (nId == IDC_FILE)
  {
   pDC->SetTextColor(m_clrText);
   pDC->SetBkColor(m_clrBkgnd);
   hbr = m_brBkgnd;
  }
  break;
  
 default:
  break;
 }
 
 // TODO: Return a different brush if the default is not desired
 return hbr;
}