Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > 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 |
а как сделать при свернуть(в окно или панель задач)/развернуть? ![]() |
Автор: 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 |
Имеет. |