Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Pavel1133
3 / 3 / 0
Регистрация: 12.10.2009
Сообщений: 81
#1

Двойная буферизация, не перерисовывает - C++

07.06.2011, 00:28. Просмотров 368. Ответов 0
Метки нет (Все метки)

создаю игру "змейка" использую двойнуюю буферизацию, окно перестало мигать, но оно не перерисовывает область окна после того как там было что-то нарисовано, вот код WM_PAINT , может я что-то не так сделал? заранее спасибо
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
  case WM_PAINT :
        GetClientRect(hWnd, &Rect);
        hDC = BeginPaint(hWnd, &PaintStruct);
                        
        hCmpDC = CreateCompatibleDC(hDC);
        hBmp = CreateCompatibleBitmap(hDC, Rect.right - Rect.left,
        Rect.bottom - Rect.top);
        SelectObject(hCmpDC, hBmp);
 
    hBitmap  = LoadBitmap(GetModuleHandle(NULL), "ABC");
                
    GetObject(hBitmap, sizeof(BITMAP), &Bitmap);
                        
                        
    SelectObject(hCmpDC, hBitmap);
    for(int i=0;i<30;i++)
        for(int j=0;j<30;j++){
                if(Zone[i][j]!=0){
                                    
                    SelectObject(hCmpDC, hBitmap);
                    StretchBlt(hDC,j*(Rect.right/30) , i*(Rect.bottom/30), (Rect.right/30), (Rect.bottom/30), hCmpDC, 0, 0, Bitmap.bmWidth,Bitmap.bmHeight, SRCCOPY);
                                   
                        }
                    }
                
                  BitBlt(hDC, 0, 0, Rect.right - Rect.left, Rect.bottom - Rect.top,
                   hCmpDC, 0, 0, SRCCOPY);
 
                
                  DeleteDC(hCmpDC);
                  DeleteObject(hBmp);
                  hCmpDC = NULL; 
                            EndPaint(hWnd, &PaintStruct);
                        return 0;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2011, 00:28     Двойная буферизация, не перерисовывает
Посмотрите здесь:

C++ двойная буферизация
C++ двойная буферизация
двойная сортировка C++
C++ Двойная загрузка файла
C++ Помощь по задаче(структура, двойная сортировка)
Двойная диспетчеризация :) C++
C++ Двойная сумма на C++
C++ Двойная алгебраическая сумма (сигма)
Консольная двойная буферирзация C++
Указатели. Матрица и двойная косвенная адресация C++
C++ Двойная кавычка как значение символьной переменной
двойная табуляция C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 14:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru