/*//第一种填充图片的方法
CBitmap bmp;
bmp.LoadBitmapW(IDB_BITMAP2);
CBrush brush;
brush.CreatePatternBrush(&bmp);
HRGN r=CreateRectRgn(0,0,0,0);
GetWindowRgn(r);
CRgn rgn;
rgn.Attach(r);
pDC->FillRgn(&rgn,&brush);
rgn.Detach();
brush.DeleteObject();*///
//第二种填充颜色的方法
CBrush brush(RGB(0,255,255));
HRGN r=CreateRectRgn(0,0,0,0);
GetWindowRgn(r);
//SelectClipRgn(pDC->GetSafeHdc(),r);
CBrush *OldBrush=pDC->SelectObject(&brush);
CRgn rgn;
rgn.Attach(r);
pDC->FillRgn(&rgn,&brush);
pDC->SelectObject(OldBrush);
对于本文的代码,是摘自《VC++实现控件自绘的最简源码剖析》。上面的代码我只是在DrawItem函数中调用DrawButton函数的前面补充的。