здрасте! чет я туплю каким образом: делаю игрушку с двойной буфферизацией. нужно:
1.взять контекст beginpaint'om
2.создать другой контекст, совместимый с первым
3. создать ЕЩЕ ОДИН, и закопировать его на второй
4. запихнуть все на первый и вывести
имею код:
dc = BeginPaint(hWnd,&_ps);
comp_dc = CreateCompatibleDC(dc);
bitmap = CreateCompatibleBitmap(comp_dc,800,600);
_old = SelectObject(comp_dc,bitmap);
bitmap_dc = CreateCompatibleDC(comp_dc);
image_stuff = (HBITMAP)(LoadImageA(GetModuleHandle(NULL),"image1.bmp",IMAGE_BITMAP,41,20,LR_LOADFROMFILE));
_old1 = SelectObject(bitmap_dc,image_stuff);
BitBlt(comp_dc,20,20,20,20,bitmap_dc,10,10,SRCCOPY);
SelectObject(bitmap_dc,_old1);
for (int i = 0; i<c_map_size+1;i++)
for (int j = 0; j<c_map_size+1;j++)
if (map_array[i][j] == ' ')
{
}
BitBlt(dc,0,0,800,600,comp_dc,0,0,SRCCOPY);
SelectObject(comp_dc,_old);
DeleteObject(bitmap);
ReleaseDC(hWnd,comp_dc);
EndPaint(hWnd,&_ps);
break;
проблема: черный экран. проблема, как я понял, где-то в 3-ем контексте, но где - не врубил. подскажите, где фуфло, или как это все заменить на нечто более грамотное!