диалоговое окно
От: ATI Россия  
Дата: 20.08.02 14:49
Оценка:
1. с помощью mfc appwizard создал в Visual C++6 диалоговое приложение , в котором по таймеру происходит обновление прямоугольной области(10 раз/сек).

как устранить мерцание при перерисовке Invalidate'ом ?

2.чем отличается CDC oт CPaintDC и можно ли передавать в функцию параметром указатель на СPaintDC,если требуется CDC
Re: диалоговое окно
От: Каламбет Россия  
Дата: 20.08.02 16:55
Оценка:
Здравствуйте ATI, Вы писали:

ATI>1. с помощью mfc appwizard создал в Visual C++6 диалоговое приложение , в котором по таймеру происходит обновление прямоугольной области(10 раз/сек).


ATI>как устранить мерцание при перерисовке Invalidate'ом ?


ATI>2.чем отличается CDC oт CPaintDC и можно ли передавать в функцию параметром указатель на СPaintDC,если требуется CDC


глянь на http://www.codeproject.com/gdi/flickerfree.asp. Там проект лежит и в нем memdc.h он то и нужен. Это класс написанный автором статьи который наследует CDC
З.Ы. А вообще набери слово "Мерцание" в поиске по форумам иам этого добра навалом. Удачи.
Re[2]: диалоговое окно
От: ATI Россия  
Дата: 20.08.02 17:56
Оценка:
Здравствуйте Каламбет, Вы писали:

К>Здравствуйте ATI, Вы писали:


ATI>>1. с помощью mfc appwizard создал в Visual C++6 диалоговое приложение , в котором по таймеру происходит обновление прямоугольной области(10 раз/сек).


ATI>>как устранить мерцание при перерисовке Invalidate'ом ?


ATI>>2.чем отличается CDC oт CPaintDC и можно ли передавать в функцию параметром указатель на СPaintDC,если требуется CDC


К>глянь на http://www.codeproject.com/gdi/flickerfree.asp. Там проект лежит и в нем memdc.h он то и нужен. Это класс написанный автором статьи который наследует CDC

К>З.Ы. А вообще набери слово "Мерцание" в поиске по форумам иам этого добра навалом. Удачи.
К>

Я уже побывал на www.codeproject.com и скачал весь проект, но дело в том, что он построен на основе document/view и за перерисовку, насколько я понимаю, отвечает функция OnDraw. Я пробовал присоединить CMemDC к моему проекту(без document/view support) в функцию OnPaint(), но безрезультатно. Также пробовал использование виртуального окна и bitmap'а, обработку WM_ERASEBKGND, но ничего не помогло. Может я что-то не так делаю, а может там и вовсе невозможно устранить мерцание ? Вообще, есть ли в MFC что-нибудь наподобие двойного буфера (по типу как в OpenGL) ?
Re: диалоговое окно
От: ATI Россия  
Дата: 21.08.02 14:41
Оценка:
Ура!!!!!!
Наконец-то всё заработало !
Без мерцания окно смотрится гораздо лучше
Спасибо за совет
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.