`
java-mans
  • 浏览: 11339734 次
文章分类
社区版块
存档分类
最新评论

设置某控件的颜色

 
阅读更多

一、重写函数OnCtlColor即可

HBRUSH CActAudioPropPage::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)

{
HBRUSH hbr = COlePropertyPage::OnCtlColor(pDC, pWnd, nCtlColor);


// TODO: 在此更改 DC 的任何属性


// TODO: 如果默认的不是所需画笔,则返回另一个画笔


if(pWnd->GetDlgCtrlID()== IDC_STATIC_Error)
{
pDC->SetTextColor(RGB(255,0,0)); //此处设置字体的颜色为蓝色
}


return hbr;

}


IDC_STATIC_Error这是你要设置的控件的字体颜色!


二、设置全部文本控件的字体颜色

1.在对话框的类中加入成员:

CBrush m_brush;
COLORREF m_color;

2.在OnInitDialog()中,加入

m_brush.CreateSolidBrush(RGB(255,255,255));
//此处设置的RGB值可以改变控件的背景色。

m_color=RGB(0,0,0)
//此处设置控件的文字初始颜色。

3.响应WM_ONCTLCOLOR消息,重载OnCtlColor()函数,加入:
if(nCtlColor== CTLCOLOR_STATIC){
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(m_color);
return (HBRUSH)m_brush.GetSafeHandle();
}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics