Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Обновление вида


Автор: FlyDragon 30.1.2008, 05:12
Добрый день.
Подскажите пожалуйста,
проблема в следующем: я рисую(пишу в коде) в рабочей области линии, 
но после перемещения окна приложения рисунок теряется,
как сделать обновление рабочей области, после перемещения, свернуть-развернуть и т.д.

Автор: Andrey44 30.1.2008, 09:10
Обрабатывай WM_MOVE 
В нем напиши Invalidate(.....) или InvalidateRect(.....................)

Автор: FlyDragon 30.1.2008, 14:11
а как сделать при свернуть(в окно или панель задач)/развернуть? smile 

Автор: BorisVorontsov 30.1.2008, 14:49
На самом деле достаточно сделать окно слоистым. Двойную буферизацию возьмёт на себя система.
Как пользоваться MSDN, рассказывать не потребуется?

Автор: FlyDragon 30.1.2008, 16:05
можешь код показать как делать?

Автор: BorisVorontsov 30.1.2008, 18:41
Называй цену. Возможно, напишу код.

Нет, не хочешь? Тогда включай сознание и начинай читать отсюда: http://msdn2.microsoft.com/en-us/library/ms997507.aspx

Автор: Earnest 1.2.2008, 14:01
Просто нужно разделить рисование и создание объектов (линий). Объекты хранить в документе, а рисовать строго на WM_PAINT, тогда ничего пропадать не будет. А двойная буферизация и прочее - это сюда отношения не имеет.

Автор: BorisVorontsov 1.2.2008, 15:30
Цитата(Earnest @  1.2.2008,  14:01 Найти цитируемый пост)
А двойная буферизация и прочее - это сюда отношения не имеет.


Имеет.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)