环境:vs2015 unicode环境下
1.mfc Button Control (设置背景颜色)
在初始化函数中添加如下:
m_btn1.m_bDontUseWinXPTheme = TRUE;
m_btn1.m_bDrawFocus = false;
m_btn1.SetFaceColor(RGB(245,222,179));
m_btn1为控件变量名,缺点:按钮显示不太美观 ,如下所示:
2. static text(text control) (设置字体颜色)
在资源视图中右击 类向导,添加消息 WM_CTLCOLOR,在函数中添加如下:
if (pWnd->GetDlgCtrlID() == IDC_STATIC_pw)
{
pDC->SetTextColor(RGB(255, 0, 0)); //红色
}
IDC_STATIC_pw 为静态文本控件 id 名。
3. Edit control (设置背景颜色) 条件 :在多字节环境下才生效
在资源视图中右击 类向导,添加消息 WM_CTLCOLOR,在函数中添加如下:
if (pWnd->GetDlgCtrlID() == IDC_EDIT1)
{
pDC->SetBkColor(RGB(135, 206, 235));
}
IDC_EDIT1 为编辑框控件 id 名。
4. checkbox control (设置字体颜色) 条件:在多字节环境下才生效
在资源视图中右击 类向导,添加消息 WM_CTLCOLOR,在函数中添加如下:
if (IDC_CHECK11 == pWnd->GetDlgCtrlID())
{
pDC -> SetTextColor(RGB(255,0,0));
}
IDC_CHECK11 是多选框控件 id 名。
ps1:给当前对话框绘制背景色
在资源视图中右击 类向导,添加消息 WM_PAINT 在函数中添加:(若是主对话框则在else函数体中添加)
CRect rect;
CPaintDC dc(this);
GetClientRect(rect);
dc.FillSolidRect(&rect,RGB(244,0,0));
ps2:设置字体样式
CFont font;
font.CreatePointFont(120,_T("微软雅黑"),NULL); // 参数1 字体大小 参数2 字体样式
2----1:check box control 设置字体样式
m_check1.setFont(&font);
m_check1 为 多选框的控件 id 名
2----2:static text (text control) 设置字体样式
GetDlgItem(IDC_STATIC_pw)->SetFont(&font);
IDC_STATIC_pw 为静态文本控件 id 名。