Пытаюсь на своем контроле ввести битмап в качестве фона.
Для этого добавил битмап в рессурсы и пытаюсь отрисовывать след. образом:
HRESULT CSpeedometr::OnDraw(ATL_DRAWINFO& di)
{
...................................
RECT rc = *(RECT*)di.prcBounds;
HDC hdc = di.hdcDraw;
DrawOffScreen(hdc, rc);
.............................
}
void CSpeedometr::DrawOffScreen(HDC hdc, RECT rc)
{
HBITMAP hbmMem, hbmOld, hNoteBmp;
HDC hdcMem, hNoteDC;
hdcMem = CreateCompatibleDC(hdc);
hbmMem = CreateCompatibleBitmap(hdc, 325, 175);
hNoteDC = CreateCompatibleDC(hdcMem);
hNoteBmp = (HBITMAP)(_Module.GetResourceInstance(),
MAKEINTRESOURCE(IDB_SPEEDOMETR),IMAGE_BITMAP,
0,0,LR_LOADFROMFILE);
SelectObject(hNoteDC, hNoteBmp);
BitBlt(hdcMem, rc.left, rc.top, rc.right-rc.left,
rc.bottom-rc.top, hNoteDC, 0, 0, SRCCOPY);
DeleteObject(hNoteBmp);
DeleteDC(hNoteDC);
hbmOld = (HBITMAP)SelectObject(hdcMem, hbmMem);
BitBlt(hdc, rc.left, rc.top, rc.left+325, rc.top+175,
hdcMem, 0, 0, SRCCOPY);
SelectObject(hdcMem, hbmOld);
DeleteObject(hbmMem);
DeleteDC(hdcMem);
}
Но вместо картинки получаю черный прямоугольник, который пропадает при изменении размеров.
Что я тут не так делаю?