forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   WM_PAINT (http://forum.boolean.name/showthread.php?t=16430)

Varg Vikernes 03.03.2012 01:25

WM_PAINT
 
здрасте! чет я туплю каким образом: делаю игрушку с двойной буфферизацией. нужно:
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-ем контексте, но где - не врубил. подскажите, где фуфло, или как это все заменить на нечто более грамотное!

Varg Vikernes 03.03.2012 05:18

Ответ: WM_PAINT
 
Разобрался.


Часовой пояс GMT +4, время: 04:28.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot