Re[3]: двойная буферизация в MFC
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 01.10.09 14:18
Оценка: 1 (1)
Здравствуйте, Went, Вы писали:

W>От бликов часто спасает просто правильная (выборочная) инвалидация областей контрола по происходящим событиям.


Это я знаю. Но класс CMemDC, который прилагается к данной статье, как раз и предназначен для реализации той самой двойной буферизации, которой интересуется ТС, и легко может быть повторно использован.
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
- Искренне ваш, Поросенок Пафнутий
двойная буферизация в MFC
От: VladOfMonster  
Дата: 01.10.09 07:26
Оценка:
Здравствуйте.
Как создать двойную буферизацию в программе, написанной в Microsoft Visual C++ с использование технологии MFC.
Тип окна: CWnd.
Подскажите, пожалуйста. Я принцип знаю, пока то обрабатывается, нужно обработать то в памяти, вывести на экран, а как реализовать в код, я не знаю.

Мне нужно сделать двойную буферизацию ctoolbar,cwnd,cbutton и т.д.

Somebody help me, please!!!

01.10.09 13:44: Перенесено модератором из 'C/C++' — Кодт
Re: двойная буферизация в MFC
От: Went  
Дата: 01.10.09 09:00
Оценка:
Здравствуйте, VladOfMonster, Вы писали:

VOM>Мне нужно сделать двойную буферизацию ctoolbar,cwnd,cbutton и т.д.


Бррр... Win контролы не рисуются по-фреймово, то есть они просто рисуются в функции OnPaint, когда система (или ты) решили, что изображение на них устарело. Двойная буфферизация нужна в по-фреймовом рисовании. Но для такого рисования GDI не подходит, лучше создай на окне контекст OpenGL и там установи Double Buffering. Ну, а если тебе нужно все-таки изобразить что-то в GDI, чтобы оно мгновенно отобразилось, то создай битмап в памяти, на нем создай контекст, нарисуй, а потом BitBlt на контекст окна. Я думаю, только так.
Re: двойная буферизация в MFC
От: Pavel Dvorkin Россия  
Дата: 01.10.09 10:47
Оценка:
Здравствуйте, VladOfMonster, Вы писали:

VOM>Здравствуйте.

VOM>Как создать двойную буферизацию в программе, написанной в Microsoft Visual C++ с использование технологии MFC.
VOM>Тип окна: CWnd.
VOM>Подскажите, пожалуйста. Я принцип знаю, пока то обрабатывается, нужно обработать то в памяти, вывести на экран, а как реализовать в код, я не знаю.

VOM>Мне нужно сделать двойную буферизацию ctoolbar,cwnd,cbutton и т.д.


CToolbar оставь в покое, он и сам умеет отрисовываться. CButton тоже. CWnd класс абстрактный, а если у его наследников надо, то как написал Went.

А лучше объясни, что тебе сделать надо. Может, тут не только двойная, но и одиночная не нужна
With best regards
Pavel Dvorkin
Re: двойная буферизация в MFC
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 01.10.09 13:29
Оценка:
Здравствуйте, VladOfMonster, Вы писали:

VOM>Здравствуйте.

VOM>Как создать двойную буферизацию в программе, написанной в Microsoft Visual C++ с использование технологии MFC.
VOM>Тип окна: CWnd.

Flicker Free Drawing In MFC
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
- Искренне ваш, Поросенок Пафнутий
Re[2]: двойная буферизация в MFC
От: Went  
Дата: 01.10.09 14:16
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>Flicker Free Drawing In MFC


От бликов часто спасает просто правильная (выборочная) инвалидация областей контрола по происходящим событиям.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.