HBITMAP MakeBmp()

HDC hWndDC = NULL;
HDC hMemDC = NULL;
HBITMAP hMemBmp = NULL;
HBITMAP hOldBmp = NULL;
RECT rect;
int w = 0, h = 0;
HWND  hWnd; hWnd = ::GetDesktopWindow();
hWndDC = ::GetWindowDC(hWnd);
hMemDC = ::CreateCompatibleDC(hWndDC);         w = 200; //随便设的
h = 200; hMemBmp = ::CreateCompatibleBitmap(hWndDC, w, h); hOldBmp = (HBITMAP)::SelectObject(hMemDC, hMemBmp);

::SetBkMode(hMemDC, TRANSPARENT); ::TextOut(hMemDC, 0, 0, "sdfsdfsdfgsdgsdg",30); LOGBRUSH lgBrush;
lgBrush.lbColor = RGB(100,100,100);
HBRUSH hBrush = ::CreateBrushIndirect(&lgBrush); ::SetRect(&rc, 10, 10, 100, 100);
FillRect(hMemDC, &rc, hBrush); hMemBmp = (HBITMAP)::SelectObject(hMemDC, hOldBmp); ::DeleteObject(hOldBmp);
::ReleaseDC(NULL, hMemDC);
::ReleaseDC(NULL, hWndDC);
return hMemBmp;
}返回后,我用BitBlt复制到我的视图DC,发现图形只有黑白。
我想在内存中作一幅彩图,再复制到视图DC, 并且是透明的, 比如说我在内存位图上画一个红色矩形,复制到视图DC后只显示刚才画的矩形,而其它地方是透明的
不遮盖底图,应该怎么做呢?