控件自绘解决方法

控件自绘
我在基于FORMVIEW的对话框上添加了按钮控件,并设置属性为owner draw,重载了DrawItem函数如下
void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct ) ;
void CImageButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct ) 
{
if( lpDrawItemStruct->CtlType != ODT_BUTTON)
return;

CRect  rectButton( lpDrawItemStruct->rcItem );
CDC *pDC = CDC::FromHandle( lpDrawItemStruct->hDC );



if (m_bOver)
{
CPoint point;
point.x=5;
point.y=5;
CPen *OldPen,newPen;
CBrush *OldBrush,newBrush;
newPen.CreatePen(PS_SOLID,1,RGB(234,175,0));
OldPen=pDC->SelectObject(&newPen);
newBrush.CreateSolidBrush(RGB(255,236,181));
OldBrush=pDC->SelectObject(&newBrush);
pDC->RoundRect(rectButton,point);
pDC->SelectObject(OldPen);
pDC->SelectObject(OldBrush);
}
else
{
pDC->FillRect(rectButton,&CBrush(RGB(240, 240, 240)));
}
if(m_bClick)
{
CPoint point;
point.x=5;
point.y=5;
CPen *OldPen,newPen;
CBrush *OldBrush,newBrush;
newPen.CreatePen(PS_SOLID,1,RGB(229,195,101));
OldPen=pDC->SelectObject(&newPen);
newBrush.CreateSolidBrush(RGB(255,232,166));
OldBrush=pDC->SelectObject(&newBrush);
pDC->RoundRect(rectButton,point);
pDC->SelectObject(OldPen);
pDC->SelectObject(OldBrush);
}

m_ImageList.DrawIndirect( pDC , 0 , CPoint( m_RectImage.left  , m_RectImage.top  ), CSize( m_bitmap.bmWidth , m_bitmap.bmHeight ), CPoint( 0 , 0 ) ,ILD_NORMAL );
pDC->SetBkMode(TRANSPARENT);
pDC->DrawText(_T("方向"),m_RectText,DT_CENTER);



}

为什么控件无法重绘呀,调试显示程序没有走到DrawItem这步,对话框就被绘制出来了,要怎么解决
------解决思路----------------------
DDX_Control 关联控件了没? 或Create