读书人

对话框中改变静态文本的字体颜色遇到的

发布时间: 2012-01-19 00:22:27 作者: rapoo

对话框中改变静态文本的字体颜色遇到的问题?
我想改变一下静态文本中字体的颜色,代码如下:
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来刷新界面。

读书人网 >VC/MFC

热点推荐