改变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;