为什么小弟我在picture控件上画上图之后,再在其上面画一个矩形框,鼠标停止画之后,那个矩形框总在图片的后面,看不见呢

为什么我在picture控件上画上图之后,再在其上面画一个矩形框,鼠标停止画之后,那个矩形框总在图片的后面,看不见呢?
代码如下:
void   CTestDlg::OnPaint()  
{
if   (IsIconic())
{
CPaintDC   dc(this);   //   蚚衾餅秶腔扢掘奻狟恅

SendMessage(WM_ICONERASEBKGND,   reinterpret_cast <WPARAM> (dc.GetSafeHdc()),   0);

//   妏芞梓婓馱釬撻倛笢懈笢
int   cxIcon   =   GetSystemMetrics(SM_CXICON);
int   cyIcon   =   GetSystemMetrics(SM_CYICON);
CRect   rect;
GetClientRect(&rect);
int   x   =   (rect.Width()   -   cxIcon   +   1)   /   2;
int   y   =   (rect.Height()   -   cyIcon   +   1)   /   2;

//   餅秶芞梓
dc.DrawIcon(x,   y,   m_hIcon);
}
else
{
CDialog::OnPaint();
}
CClientDC   dc(this);
        dc.SetROP2(R2_NOTXORPEN);

dc.Rectangle(m_startLock.x,m_startLock.y,m_endLock.x,m_endLock.y);
//AddRectangle(m_startLock,m_endLock);
}
然后
void   CThemeConfigDlg::OnMouseMove(UINT   nFlags,   CPoint   point)
{
CClientDC   dc(this);
        dc.SetROP2(R2_NOTXORPEN);

if(m_rectangle)
{  
if(m_step==1)    
{    
if(m_end.x==0)     dc.Rectangle(m_start.x,m_start.y,point.x,point.y);
else   {dc.Rectangle(m_start.x,m_start.y,m_end.x,m_end.y);dc.Rectangle(m_start.x,m_start.y,point.x,point.y);}
}
}

m_end=point;
CDialog::OnMouseMove(nFlags,   point);
}
如果不在picture上不放图片却可以.

------解决方案--------------------
重载picture控件的ondraw函数,在ondraw里画矩形