Witam, napisałem prosty program, akcja polega na przesuwania bitmapy w górę i w dół za pomocą scrolla, robię to za pomocą wskaźnika *nPos, wszystko działa tylko ekran miga, więc poczytałem o podwójnym buforowaniu i jak je zastosowałem to osiągnąłem czarne tło:/ proszę o sprawdzenie kodu, jest to fragment z WM_PAINT
GetClientRect(hwnd, &rcOkno);
PAINTSTRUCT ps;
BITMAP info1;
HDC hdc1 = BeginPaint(hwnd, &ps);
HDC hdcbufor = CreateCompatibleDC(hdc1);
HDC hdcnowy1 = CreateCompatibleDC(hdc1);
HBITMAP bmpBuf = CreateCompatibleBitmap(hdcbufor, rcOkno.right, rcOkno.bottom);
HBITMAP bmpBufO = (HBITMAP)SelectObject(hdcbufor, bmpBuf);
HBITMAP bmp1 = (HBITMAP)LoadImage(NULL, "C:\\Users\\Ziggy Mayla\\Desktop\\wwa.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
if(bmp1==0){
MessageBox(0,"Nie można","Brak pliku",MB_ICONERROR);
return 0;}
GetObject(bmp1, sizeof(info1),&info1);
SelectObject(hdcnowy1,bmp1);
BitBlt(hdcbufor,1,*dPos, info1.bmWidth, info1.bmHeight, hdcnowy1,0,0,SRCINVERT);
BitBlt(hdc1, 1, *dPos, info1.bmWidth, info1.bmHeight, hdcbufor, 0, 0, SRCCOPY);
DeleteObject(bmpBuf);
DeleteObject(bmpBufO);
DeleteObject(hdcnowy1);
DeleteObject(bmp1);
EndPaint(hwnd, &ps);