Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обновить не все окно, а конкретный прямоугольник, Обновить конкретный прямоугольник 
V
    Опции темы
Oreshin
Дата 14.8.2007, 07:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 31.5.2007

Репутация: нет
Всего: нет



Проблема у меня следующая и меня есть рисунок, который передвигается по таймеру, таймер настроен на 10 мс и когда делаю InvalidateRect(hwnd,NULL,TRUE); то перерисовывается все окно и появляется неприятное мерцание.
Как обновлять не все окно, а конкретный прямоугольник? smile 
И я ещё слышал, что с мерцанием можно бороться, если подключить двойной буфер, но как его подключить не знаю. smile 

PM MAIL   Вверх
_hunter
Дата 14.8.2007, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 13
Всего: 98



эм...
Цитата

lpRect 
[in] Pointer to a RECT structure that contains the client coordinates of the rectangle to be added to the update region. If this parameter is NULL, the entire client area is added to the update region. 

подключить двойной буффер очень просто: создаеш в памяти bitmap; рисуеш на нем; а потом целиком этот битмап копируеш на DC.


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Oreshin
Дата 14.8.2007, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 31.5.2007

Репутация: нет
Всего: нет



Код

...
RECT *obl;
obl->bottom= 1;
obl->left    = 1;
obl->right    = 10;
obl->top    = 10;
InvalidateRect(hWnd,obl,TRUE);
....
На такое определение области компилятор у меня ругется!
Что я делаю не так?
Цитата


подключить двойной буффер очень просто: создаеш в памяти bitmap; рисуеш на нем; а потом целиком этот битмап копируеш на DC. 
 


Я конечно понимаю, что это просто но нельзя ли примерчик или где про это почитать можно? smile 


PM MAIL   Вверх
_hunter
Дата 14.8.2007, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 13
Всего: 98



а память кто выделять будет? -- Пушкин?
RECT obl;
и 
InvalidateRect(hWnd, &obl, TRUE);

почитать про это можно (не повериш) на этом же форуме -- достаточно поискать по этому разделу слово bitmap:
http://forum.vingrad.ru/forum/topic-112781.html


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Oreshin
Дата 14.8.2007, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 31.5.2007

Репутация: нет
Всего: нет



Большое СПАСИБО Hanter.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0697 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.