请问如何修改3个cstatic控件中一个的字体颜色啊?我会全改,只改一个就不知道了,请问如何修改下面的代码来实现?100分
HBRUSH Show::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if( nCtlColor == CTLCOLOR_STATIC)
{
pWnd->GetDlgItem(IDC_NAME); //例子说这个就能实现,可是不行啊。
pDC->SetTextColor(RGB(20,120,20));
// TODO: Return a different brush if the default is not desired
return hbr;
}
pWnd->GetDlgItem(IDC_NAME); 我看到例子上说这个句就可以针对某个控件来改颜色而不是全部,但是我试了,结果还是全部变色了。而不是我希望的其中一个。请您指点一下如何实现只改变其中一个,我是初学者,请帮帮忙。
问题点数:0、回复次数:5Top
1 楼resound(老马)回复于 2003-06-02 00:18:53 得分 0
HBRUSH Show::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if( nCtlColor == CTLCOLOR_STATIC)
{
if (pWnd->GetDlgCtrlID() == IDC_NAME) // 比较ID是否一致?
pDC->SetTextColor(RGB(20,120,20));
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
即可啦. :)
Top
2 楼triggerd(有点着急)回复于 2003-06-02 02:45:26 得分 0
同意resound,把static控件的id都改一下Top
3 楼sdf123321()回复于 2003-06-02 12:09:47 得分 0
同意resoundTop
4 楼duyhui(一天到晚游泳的鱼)回复于 2003-06-17 17:01:50 得分 0
你的static控件的id都一样吧!
改成不同的名字就行了!
Top
5 楼zyleon(zy)回复于 2003-06-17 17:19:09 得分 0
你把static控件的id改成唯一的idTop




