您的位置:首页 > 其它

关于设置对话框的背景颜色,和设置控件的字体颜色或背景颜色

2008-12-17 17:12 459 查看
关于设置对话框的背景颜色,和设置控件的字体颜色或背景颜色:

首先要为对话框添加消息映射,主要是:

BEGIN_MESSAGE_MAP(CXXXDlg, CDialog)
ON_WM_ERASEBKGND()//背景色
ON_WM_CTLCOLOR()//设置文本等控件相关颜色
END_MESSAGE_MAP()

然后在相关代码区域添加代码:

//背景色
BOOL CXXXDlg::OnEraseBkgnd(CDC* pDC)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
//背景色
BOOL retValue= CDialog::OnEraseBkgnd(pDC);
CRect rc;
GetClientRect(&rc);
pDC->FillSolidRect(&rc,RGB(230,240,250));
return retValue;
}

// 除按纽之外的其他控件,字体颜色、字体背景颜色、控件背景颜色等。
HBRUSH CXXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CBkDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 在此更改DC 的任何属性
//对除了按钮外的其他控件有效
if(pWnd->GetDlgCtrlID() == IDC_STATIC_TEXT )//关联控件ID
{
//设置字体颜色
pDC->SetTextColor(RGB(200,100,80));
//字体背景透明
pDC->SetBkMode(TRANSPARENT);
//设置文本背景颜色
pDC->SetBkColor(RGB(230,240,250));
//设置控件背景颜色
hbr = ::CreateSolidBrush(RGB(230,240,250));
return hbr;
}
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
return hbr;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐