mfc EDIT字体颜色

改变Edit字体颜色:

1、CMyDlg类中添加成员变量:

CBrush m_Brush;

2、OnInitDialog中初进行设置:

m_brush.CreateSolidBrush(RGB(0,255,255));

3、添加消息响应函数:OnCtlColor

if(nCtlColor == CTLCOLOR_EDIT)

{

      if(pWnd->GetDlgCtrlID()== IDC_EDIT1)

      {

           pDC->SetTextColor(RGB(255,255,0)); //文字颜色  

           pDC->SetBkColor(RGB(251, 247, 200));

           pDC->SetBkMode(TRANSPARENT);//透明

           return (HBRUSH) m_brush.GetSafeHandle();

       }

 }

改变Static控件字体颜色:

假设你已有了名为My的对话框工程.你有了一个STATIC的控件,ID为IDC_STATIC1.

1、OnCtlColor中添加代码:

if (nCtlColor==CTLCOLOR_STATIC)

{
       pDC->SetTextColor(RGB(255,0,0));  //字体颜色
       pDC->SetBkColor(RGB(0, 0, 255));   //字体背景色  

}

2、如果是对某一特定控件改变,代码如下:

if (pWnd->GetDlgCtrlID()==IDC_STATIC1)
{
       pDC->SetTextColor(RGB(255,0,0));  //设置字体颜色
       pDC->SetBkMode(TRANSPARENT); //设置字体背景为透明
// TODO: Return a different brush if the default is not desired
  return (HBRUSH)::GetStockObject(BLACK_BRUSH);  // 设置背景色
}
else
return hbr;

原文地址:https://www.cnblogs.com/blogofwu/p/4151105.html