今天做任务有个BUG需要修改,就是在左宽右宽显示需要有颜色提醒。由于我刚接触MFC不久,在网上查了些方法。
添加这个消息处理函数
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
响应这个消息
ON_WM_CTLCOLOR()
函数实现部分
HBRUSH CEditStruWallDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if (pWnd->GetDlgCtrlID() == IDC_STATIC_EDITLEFTWIDTH)
{
pDC->SetTextColor(RGB(0,255,0)); //设置字体颜色
pDC->SetBkMode(TRANSPARENT); //设置背景透明
}
else if (pWnd->GetDlgCtrlID() == IDC_STATIC_EDITRIGHTWIDTH)
{
pDC->SetTextColor(RGB(255, 0, 255)); //设置字体颜色
pDC->SetBkMode(TRANSPARENT); //设置背景透明
}
return hbr;
}