Re[6]: Проблема с BitBlt
От: AlexProgrammer  
Дата: 04.03.07 12:51
Оценка:
У меня точно такая же проблема, как возникла у первого товарища два с лишним года назад. Но у меня не просто ничего не происходит, а весь экран после копирования становится черным. Вот исходный код.

case WM_PAINT:{
hdc = BeginPaint(hWnd, &ps);
// Создание совместимого контекста
HDC secondDC = CreateCompatibleDC(hdc);

// Получение размеров клиентской области окна
RECT rcClient;
GetClientRect(hWnd, &rcClient);
int nWidth = rcClient.right;
int nHeight = rcClient.bottom;

HBITMAP hBitmap = CreateCompatibleBitmap(secondDC, nWidth, nHeight);

// Выбор в совместимый контекст только что созданной битмапки
HBITMAP hOldBitmap = (HBITMAP)SelectObject(secondDC, hBitmap);

// Рисование в совместимом контексте
DrawSineWave(secondDC, 0);

// Копируем битмапку из совместимого контекста в исходный
BOOL bSuccess = BitBlt(hdc, 0, 0, nWidth, nHeight, secondDC, 0, 0, SRCCOPY);

SelectObject(secondDC, hOldBitmap);
DeleteObject(hBitmap);
DeleteDC(secondDC);

EndPaint(hWnd, &ps);
break;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.