Mfc
hDc = GetDC(hWndScr);
hMemDc = CreateCompatibleDC(hDc);
hBmpNew = CreateCompatibleBitmap(hDc, 500, 500);
hBmpOld = SelectObject(hMemDc, hBmpNew);
BitBlt(hMemDc, 0, 0, 500, 500, hDc, 0, 0, SRCCOPY);
немогу понять что за переменная hWndScr?
вроде как функция GetCD()должна быть с NULL параметром
я написал:
CBitmap b ;
CDC *pDC = GetDC();
b.CreateCompatibleBitmap(pDC, 500, 500);
memDC.CreateCompatibleDC(pDC);
memDC.SelectObject( &b ) ;
...
...
CPaintDC dc(this);
dc.BitBlt( iPosX, iPosY, 1024, 768,&memDC,0,0,SRCCOPY ) ;
Не работает.
Всё правильно работать и не будет! Переменная hWndScr - дескриптор окна, которого ты хочешь получить контекст.
Для того, чтобы это зарабртало, надо получить дескриптор рабочего стола (тоже самое окно) посредством функций FindWindow. В параметрах им передаётся либо имя класса окна, либо имя окна. Получить рабочий стол можно только по именни класса окна.
Либо проше функцией GetDesktopWindow().
Пример:
HWND hwnd;
hwnd=::GetDesktopWindow();
HDC hdc=::GetWindowDC(hwnd);
/* Просто для примера */
::TextOut(hdc,100,100,"Hello world",11);
Ну а далее думаю будет всё понятно. Если ты используешь классы на базе CDC, то имея HDC окна элементарно привязать его к классу.