Piemur2000 | Bonjour,
Je dois faire du Double Buffering dans mon application Win32, g trouvé le code suivant sur un site :
Code :
- HDC hdcMem;
- HBITMAP hbmMem;
- HANDLE hOld;
- PAINTSTRUCT ps;
- HDC hdc;
- ....
- case WM_PAINT:
- // Get DC for window
- hdc = BeginPaint(hwnd, &ps);
- // Create an off-screen DC for double-buffering
- hdcMem = CreateCompatibleDC(hdc);
- hbmMem = CreateCompatibleBitmap(hdc, win_width, win_height);
- hOld = SelectObject(hdcMem, hbmMem);
- // Draw into hdcMem
- // Transfer the off-screen DC to the screen
- BitBlt(hdc, 0, 0, win_width, win_height, hdcMem, 0, 0, SRCCOPY);
- // Free-up the off-screen DC
- SelectObject(hdcMem, hOld);
- DeleteObject(hbmMem);
- DeleteDC (hdcMem);
- EndPaint(hwnd, &ps);
- return 0;
|
Le probleme c que la fenetre est noire. Donc quand je met mon code de dessin (a la place de draw into hdcMem) je ne sait même pas si ca fait quelque chose pke je ne voi rien. Pkoi le fond est noir? Il est blanc quand je met juste mon code de dessin? J'espere avoir été assé clair,
Merci d'avance |