关于static控件填充背景色的有关问题

关于static控件填充背景色的问题。
创建了一个CStatic类的继承类CCustomStatic用来填充static控件的背景色。
下面这个函数是填充static控件的某一区域背景颜色。
由于希望填充好几个区域的背景色,比如把一个长条的static控件的开头一段与结尾一段都填充成红色。所以iNum这个标识填充区域数量的参数值是不固定的。也因为iNum不固定,所以用来保存区域的rect是CRect的指针m_prcCtrlPartRect,然后根据iNum来new出空间赋值。
问题是,赋值可以成功,但在OnPaint中该如何持续的填充这些背景色?????

C/C++ code


public:
CRect *m_prcCtrlPartRect;

////////////////////////
BOOL g_bIsFill = FALSE;
int g_iRectNum = 0;
void CCustomStatic::SetBkPartColor(int iNum, ......)
{    
         g_iRectNum = iNum; //g_iRectNum是全局变量
           
         m_prcCtrlPartRect = new CRect[iNum];

    for (int i = 0; i <= iNum; ++i)
    {//经过计算给各个Rect逐一赋值    
                  if (i == iNum)
                  {//赋值完毕后退出,激活OnPaint中的填充代码
                      g_bIsFill = TRUE;
                      return;
                  }
        m_prcCtrlPartRect[i].left   = xxx;
        m_prcCtrlPartRect[i].top    = xxx;
        m_prcCtrlPartRect[i].right  = xxx;
        m_prcCtrlPartRect[i].bottom = xxx;
    }
    Invalidate();
}
  
//////////////////////////////////////////////////////////////////////
          
//如果这个for循环中没有那个if语句,那么这个for循环会持续执行,直至崩溃。         
//但如果有那个if语句,那么for循环只能执行一次,一旦画面刷新,控件填充的背景色就会消失。
//这里有没有让FillSolidRect持续执行而又不崩溃的办法呢????
void CCustomStatic::OnPaint()
{
    CPaintDC dc(this); // device context for painting

    CClientDC clientDC(this);
       
         if (g_bIsFill)
         {
        for (int i = 0; i <= g_iRectNum; ++i)
        {
                  //if (i == g_iRectNum)
                  //{
                  //    delete [] m_prcCtrlPartRect;
                  //    m_prcCtrlPartRect = NULL;
                  //    g_bIsFill = FALSE;
                  //}
             clientDC.FillSolidRect(m_prcCtrlPartRect[i], RGB(0,255,255)); //填充背景色
        }
     
         }
}




------解决方案--------------------
补充:环境 win7+vs10
------解决方案--------------------
vc6上现在的程序没问题。
点击‘搜索’,可以看到3个红条。
------解决方案--------------------
我XP + VS2010

去掉&后,没问题。

楼主VS2005 没装SP1补丁包??
------解决方案--------------------
看了下代码,把这个g_bIsFill声明为CCustomStatic的成员变量就行了