HDC dc=... ; // Screen DC
HDC dcmem = ::CreateCompatibleDC(dc);
RECT rect = ...;// Client rect of the window
...
int width = rect.right-rect.left;
int height = rect.bottom-rect.top;
HBITMAP hbmpdraw = ::CreateCompatibleBitmap(dcmem,width,height);
HBITMAP hbmpold = (HBITMAP)::SelectObject(dcmem,hbmpdraw);
SelectObject( dcmem, GetStockObject(BLACK_BRUSH) );
//do drawing in memory dc
Rectangle(dcmem, 0,0,width, height);
...

BitBlt(dc,0,0,width,height,dcmem,0,0,SRCCOPY);
SelectObject(dcmem,hbmpold);
DeleteObject(hbmpdraw);
DeleteObject(dcmem);