1. с помощью mfc appwizard создал в Visual C++6 диалоговое приложение , в котором по таймеру происходит обновление прямоугольной области(10 раз/сек).
как устранить мерцание при перерисовке Invalidate'ом ?
2.чем отличается CDC oт CPaintDC и можно ли передавать в функцию параметром указатель на СPaintDC,если требуется CDC
Здравствуйте 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
З.Ы. А вообще набери слово "Мерцание" в поиске по форумам иам этого добра навалом. Удачи.
Здравствуйте Каламбет, Вы писали:
К>Здравствуйте 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) ?