对话框中改变静态文本的字体颜色遇到的问题?
我想改变一下静态文本中字体的颜色,代码如下:
HBRUSH COem_eeprom_burnerDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if ( pWnd-> GetDlgCtrlID() == IDC_STATIC_PF)
{
if ( bDevStatus )
{
pDC-> SetTextColor(RGB(0, 0, 255));
pDC-> SetBkMode(TRANSPARENT);
}
else
{
pDC-> SetTextColor(RGB(255, 0, 0));
pDC-> SetBkMode(TRANSPARENT);
}
}
return hbr;
}
bDevStatus 为1时显示蓝色,不为1时红色,但是每次在第一次执行程序的时候,不论bDevStatus是否为1都会显示蓝色,在第二次执行时才正常,不知道该怎么办,哪位高人能否指点一下.
[解决办法]
不知道你这个“第一次执行程序”是什么意思,不过可以在改变了bDevStatus的值之后,调用Invalidate来刷新界面。