有时候需要改变Edit中的文本颜色,只需要重载OnCtlColor()<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
代码如下:
HBRUSH CTestEditColorTextDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
扫描二维码关注公众号,回复:
2781222 查看本文章
if(pWnd->GetDlgCtrlID() == IDC_EDIT_DI_RESULT)
{
pDC->SetTextColor(m_ResultColor[m_iColorCode]);
}
return hbr;
}
其中
COLORREF m_ResultColor[3];
Int m_iColorCode; 为成员变量
在OnInitDialog中给颜色表初始化。当使用的时候,只需要简单的修改一下颜色码m_iColorCode。
m_ResultColor[0] = RGB(0, 0, 0);
m_ResultColor[1] = RGB(0, 255, 0);
m_ResultColor[2] = RGB(255, 0, 0);