ou
1、改变对话框的底色
在对话框的类中添加一个 private : CBrush m_brush;的成员变量。在类的构造函数中添加如下代码:
m_brush.CreateSolidBrush(RGB(0,0,255)); //初始化为蓝色
为对话框添加一个WM_CTLCOLOR消息响应函数,专门为控件着色的消息响应函数,代码如下:
HBRUSH CSettingDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
//return hbr; /*这里特意将系统返回的画刷屏蔽*/
return m_brush; /*返回自己制定的蓝色画刷*/
}
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
//return hbr; /*这里特意将系统返回的画刷屏蔽*/
return m_brush; /*返回自己制定的蓝色画刷*/
}
2、如果我们要设置某一个对话框控件的底色和文字颜色时只要将上面return m_brush;改为:
if (pWnd->GetDlgCtrlID()==IDC_LINE_STYLE) /*如果控件的名称为IDC_LINE_STYLE*/
{
{

本文介绍了如何在MFC应用中改变对话框背景色、控件颜色及字体。通过设置WM_CTLCOLOR消息响应函数可以改变对话框底色和特定控件颜色,如设置IDC_LINE_STYLE控件的背景色和文字颜色。对于静态文本控件IDC_TEXT,可以通过OnPaint消息响应函数选择特定字体。此外,为了改变按钮如OK的文字颜色,需要创建自定义CButton子类并重写DrawItem函数,实现文字颜色为红色。
3972

被折叠的 条评论
为什么被折叠?



