关于OnCtlColor() 中第三个参数nCtlColor的有关问题

关于OnCtlColor() 中第三个参数nCtlColor的问题
以下是我的代码
HBRUSH CMyTestDlg::OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); 

//判断下是不是你要改的控件ID
if (nCtlColor == CTLCOLOR_STATIC) //这里是重点.设断点跟踪,nCtlColor 的值永远是"3"(CTLCOLOR_BTN),我的Dialog上的控件都是从控件编辑器里放进去的,没有自己手动创建的,而且也不只有BUTTON,还有PICTURE,GROUPBOX,STATIC...等等..为什么这里一直都只取到CTLCOLOR_BTN..
{
if(pWnd->GetDlgCtrlID()==IDC_STATIC_TUSERNAME) 

pDC->SetTextColor(RGB(255,255,255)); 
pDC->SetBkColor(RGB(22,22,22)); 
}
}
return hbr; 
}
还有.我新建的一个工程,用同样的方法就可以成功将文字的的颜色和文字的背景色修改!但我自己的工程就一样是只取到CTLCOLOR_BTN WHY???????
请帮帮忙!!先谢过了...

------解决方案--------------------
对比一下你这两个工程里各个控件的属性有什么不同。
------解决方案--------------------
设置断点后,继续运行程序时按钮又要重绘一次,又会触发OnCtlColor,在断点处暂停,当继续运行程序时,又会触发,如此循环,所以跟踪不到下一个控件的OnCtlColor.