CDC memDC,memDC2;
 CBitmap bitmap1;
 BITMAP bmpinfo; 

 memDC2.CreateCompatibleDC(&dc);
 memDC.CreateCompatibleDC(&dc);        

bitmap1.GetBitmap(&bmpinfo);        

//문제의 코드들이 이 아래인데
memDC.SelectObject(&bitmap1);
memDC2.BitBlt(0, 0, bmpinfo.bmWidth, bmpinfo.bmHeight, &memDC, 0, 0, SRCCOPY);
이 경우에는 정상적으로 출력이 안됨

memDC2.SelectObject(&bitmap1);
memDC2.BitBlt(0, 0, bmpinfo.bmWidth, bmpinfo.bmHeight, &memDC2, 0, 0, SRCCOPY);
이 경우에는 정상적으로 출력이 잘됨

bitmap1.DeleteObject();

dc.BitBlt(0, 0, 800, 600, &memDC2, 0, 0, SRCCOPY);

한참 헤메다가 답을찾긴했는데 왜 이런결과가 나오는지는 미스테리...

차이가 뭔지좀..