[C++] Double Buffering Win32

Double Buffering Win32 [C++] - C++ - Programmation

Marsh Posté le 14-05-2003 à 11:08:40    

Bonjour,
 
Je dois faire du Double Buffering dans mon application Win32, g trouvé le code suivant sur un site :

Code :
  1. HDC          hdcMem;
  2. HBITMAP      hbmMem;
  3. HANDLE       hOld;
  4. PAINTSTRUCT  ps;
  5. HDC          hdc;
  6. ....
  7. case WM_PAINT:
  8.     // Get DC for window
  9.     hdc = BeginPaint(hwnd, &ps);
  10.     // Create an off-screen DC for double-buffering
  11.     hdcMem = CreateCompatibleDC(hdc);
  12.     hbmMem = CreateCompatibleBitmap(hdc, win_width, win_height);
  13.     hOld   = SelectObject(hdcMem, hbmMem);
  14.     // Draw into hdcMem
  15.     // Transfer the off-screen DC to the screen
  16.     BitBlt(hdc, 0, 0, win_width, win_height, hdcMem, 0, 0, SRCCOPY);
  17.     // Free-up the off-screen DC
  18.     SelectObject(hdcMem, hOld);
  19.     DeleteObject(hbmMem);
  20.     DeleteDC    (hdcMem);
  21.     EndPaint(hwnd, &ps);
  22.     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

Reply

Marsh Posté le 14-05-2003 à 11:08:40   

Reply

Marsh Posté le 14-05-2003 à 11:21:44    

ben il est pas beau ce code [:xx_xx]]
faire des createMachin a chaque WM_PAINT c un peu cracra...g du code qui marche pour ca mais c chez mouate donc pas avant ce soir :O

Reply

Marsh Posté le 14-05-2003 à 11:24:31    

Ok merci beaucoup

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed