Cstatic的闪烁有关问题.

Cstatic的闪烁问题.
我把一个子CStatic做了透明:
BRUSH   CUpdateUIDlg::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)
{
pDC-> SetBkMode(0);
pDC-> SetTextColor(RGB(128,128,128));
hbr   =   (HBRUSH)::GetStockObject(NULL_BRUSH);
}
//   TODO:     Return   a   different   brush   if   the   default   is   not   desired
return   hbr;
}

然后我在更新一个CStatic时对窗口进行了重绘.可有时更新的时候有闪烁.
RECT       m_rect;
::GetWindowRect(GetDlgItem(IDC_STATIC1)-> GetSafeHwnd(),&m_rect);
ScreenToClient(&m_rect);  
    bool   b   =   this-> RedrawWindow(&m_rect,0,RDW_INVALIDATE|RDW_UPDATENOW|RDW_ERASE);

大家有没有好的办法?



------解决方案--------------------
直接刷新控件好了
GetDlgItem(IDC_STATIC1)-> Invalidate();
------解决方案--------------------
方法很多啊,简单的就是LZ可以在Timer里面进行重绘,要不可以自己做一个类来实现,有一个好用而现成的类叫CLabel网上有得下载
------解决方案--------------------
闪烁问题出自RedrawWindow
建议自己SubClass一下或SuperClass一下自己响应一下他的WM_PAINT消息