Смысел такой. Гружу битмап, скажем, из файла (не суть важно). 256 оттенков серого.
На экран вывожу вот так (в OnDraw):
pbmhead — это BITMAPINFOHEADER *
bmbits — unsigned char *
pbminfo — BITMAPINFO *
hBmp — HBITMAP
HDC hmemDC; //handle of memory DC
// pDC->GetSafeHdc() - handle of current pDC
hBmp = ::CreateDIBitmap(pDC->GetSafeHdc(), pbmhead, CBM_INIT, bmbits, pbminfo, DIB_RGB_COLORS);
hmemDC = ::CreateCompatibleDC(0);
SelectObject(hmemDC, hBmp);
::BitBlt(pDC->GetSafeHdc(), 0,0,pbmhead->biWidth,pbmhead->biHeight, hmemDC,0,0,SRCCOPY);
::DeleteDC(hmemDC);
::DeleteObject(hBmp);
В результате изображение показывается в каких-то странных цветах
Причем в тестовом примере (написанном без MFC) этот код работал нормально.
Что-то с палитрой? Как ее привязать?