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);