类向导添加消息WM_CTLCOLOR得到函数
根据函数GetDlgCtrlID对指定的控件进行操作
cpp
HBRUSH CmySqlselectDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 在此更改 DC 的任何特性
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
//通过ID判断是否对该控件进行操作
if (pWnd->GetDlgCtrlID() == IDC_STATICSTATE) {
if (m_StaticStateColor == 0) {
pDC->SetTextColor(RGB(0, 255, 0));
}
else {
pDC->SetTextColor(RGB(255, 0, 0));
pDC->SetBkColor(RGB(0, 0, 0));
}
//控制字的大小
pDC->SelectObject(&m_Staticfont);
}
return hbr;
}
字体大小字号选择
cpp
CBrush m_Staticbrush;//画刷没有使用
CFont m_Staticfont;//标准字体
int m_StaticStateColor{ 0 };//0为绿色1为红色
//字体初始化选择宋体,大小为200
m_Staticfont.CreatePointFont(200, _T("宋体"));