hdc 问题
BITMAP bmpInfo;
HBITMAP hBitmap;
hBitmap = (HBITMAP)LoadImage(AfxGetInstanceHandle(), L"e:\\1.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION);
::GetObject(hBitmap , sizeof(BITMAP) , (LPBYTE)&bmpInfo);
RECT rc, rw;
::GetClientRect(this->m_hWnd, &rc);
::GetWindowRect(this->m_hWnd, &rw);
HDC hDC = ::GetDC(this->m_hWnd);
HDC dcCompatible = ::CreateCompatibleDC(hDC);
::SelectObject(dcCompatible, hBitmap);
::SetBkMode(dcCompatible,TRANSPARENT);
HBITMAP temp_bmp;
HDC temp_hdc = ::CreateCompatibleDC(hDC);// ::GetDC(NULL);
::SetDIBColorTable(temp_hdc, 0, uNumEntries, &prgb);
temp_bmp = ::CreateCompatibleBitmap(temp_hdc, bmpInfo.bmWidth, bmpInfo.bmHeight); //创建兼容位图
::SelectObject(temp_hdc , temp_bmp);
::StretchBlt(temp_hdc, 0, 0, bmpInfo.bmWidth, bmpInfo.bmHeight, dcCompatible, 0, 0, bmpInfo.bmWidth, bmpInfo.bmHeight, SRCCOPY);
//::BitBlt(temp_hdc, 0, 0, bmpInfo.bmWidth, bmpInfo.bmHeight, dcCompatible, 0, 0, SRCCOPY);
::BitBlt(hDC, 0, 0, bmpInfo.bmWidth, bmpInfo.bmHeight, temp_hdc, 0, 0, SRCCOPY);
想请教下为什么把从磁盘读取的BMP图片放到temp_hdc 后在显示在窗口中变成了黑白的?只知道需要设置,但不知道用什么API怎么去设置temp_hdc ,谁能指点下。