在dlg类中增加消息ondrawitem,并且在按钮上勾选ownerdraw选项,在消息处理中写这样:
CDC buttondc;
buttondc.Attach(lpDrawItemStruct->hDC);
CRect rect;
::GetClientRect(lpDrawItemStruct->hwndItem,rect);
rect = lpDrawItemStruct->rcItem;
CDC memdc;
memdc.CreateCompatibleDC(&buttondc);
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP2);
BITMAP bmp;
bitmap.GetBitmap(&bmp);
CBitmap* bitmap2 = memdc.SelectObject(&bitmap);
buttondc.StretchBlt(rect.left,rect.top,rect.right,rect.bottom,&memdc,
0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);
memdc.SelectObject(bitmap2);
buttondc.DeleteDC();
CDC buttondc;
buttondc.Attach(lpDrawItemStruct->hDC);
CRect rect;
::GetClientRect(lpDrawItemStruct->hwndItem,rect);
rect = lpDrawItemStruct->rcItem;
CDC memdc;
memdc.CreateCompatibleDC(&buttondc);
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP2);
BITMAP bmp;
bitmap.GetBitmap(&bmp);
CBitmap* bitmap2 = memdc.SelectObject(&bitmap);
buttondc.StretchBlt(rect.left,rect.top,rect.right,rect.bottom,&memdc,
0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);
memdc.SelectObject(bitmap2);
buttondc.DeleteDC();