步骤如下:
1、添加全局变量:
在.cpp文件中添加全局变量声明:
BYTE R,G,B;
2、手动添加OnCtlColor()函数
在.h文件中添加函数声明:
afx_msg HBRUSH OnCtlColor(CDC*pDC, CWnd* pWnd, UINT nCtlColor);
在.cpp文件中添加:
BEGIN_MESSAGE_MAP(CDefinedViewDlg, CDialog)
...
ON_WM_CTLCOLOR()
...
END_MESSAGE_MAP()
//函数实现
HBRUSH CTestDlg::OnCtlColor(CDC* pDC,CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC,pWnd, nCtlColor);
if (pWnd->GetDlgCtrlID()==IDC_STATIC)//控件ID
pDC->SetTextColor(RGB(R,G,B)); //设置颜色
return hbr;
}
3、在相应函数体中改变R,G,B的值,使文本颜色满足要求
如:
void CTestDlg::OnChangeTextColor()
{
SetDlgItemText(IDC_STATIC,"设备已连接");
R=0;
G=255;
B=0;
Invalidate(FALSE);//更新文本,文本"设备已连接”颜色变为绿色
}