改变字体
在OnInitDialog()函数对应的.h文件中定义CFont font,然后在OnInitDialog()函数中添加如下代码:
font.CreatePointFont(400, _T("华文行楷"));
GetDlgItem(IDC_STATIC1)->SetFont(&font);
第一行设置字体属性(字号,字体)
第二行指定控件ID为:IDC_STATIC1
改变颜色
在OnInitDialog()函数所在cpp新建一个函数,所属的类为XXXXX:
HBRUSH XXXXX::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
if (IDC_STATIC1 == pWnd->GetDlgCtrlID())//判断发出消息的空间是否是该静态文本框
{
pDC->SetTextColor(RGB(255, 0, 0));//设置文本颜色为红色
//pDC->SetBkMode(OPAQUE);//设置文本背景模式为透明
//pDC->SetBkColor(RGB(0, 0, 255));//设置文本背景为蓝色
//hbr = CreateSolidBrush(RGB(0, 255, 0));//控件的背景色为绿色
}
else if (IDC_STATIC2 == pWnd->GetDlgCtrlID())//判断发出消息的空间是否是该静态文本框
{
pDC->SetTextColor(RGB(0, 0, 255));//设置文本颜色为红色
//pDC->SetBkMode(OPAQUE);//设置文本背景模式为透明
//pDC->SetBkColor(RGB(0, 0, 255));//设置文本背景为蓝色
//hbr = CreateSolidBrush(RGB(0, 255, 0));//控件的背景色为绿色
}
return hbr;//返回用于重绘控件背景的画刷
}
然后最重要的是要给该函数建立一个消息响应。
在BEGIN_MESSAGE_MAP中添加:ON_WM_CTLCOLOR()