![]() |
|
![]() ![]() ![]() |
|
FlyDragon |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 17.3.2007 Репутация: нет Всего: нет |
Добрый день.
Подскажите пожалуйста, проблема в следующем: я рисую(пишу в коде) в рабочей области линии, но после перемещения окна приложения рисунок теряется, как сделать обновление рабочей области, после перемещения, свернуть-развернуть и т.д. |
|||
|
||||
Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 12 Всего: 26 |
Обрабатывай WM_MOVE
В нем напиши Invalidate(.....) или InvalidateRect(.....................) -------------------- ????? ??, ??????? ?????. ![]() |
|||
|
||||
FlyDragon |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 17.3.2007 Репутация: нет Всего: нет |
а как сделать при свернуть(в окно или панель задач)/развернуть?
![]() |
|||
|
||||
BorisVorontsov |
|
|||
![]() Thinker ![]() ![]() Профиль Группа: Комодератор Сообщений: 714 Регистрация: 3.11.2005 Где: Молдавия, г. Киши нёв Репутация: нет Всего: 10 |
На самом деле достаточно сделать окно слоистым. Двойную буферизацию возьмёт на себя система.
Как пользоваться MSDN, рассказывать не потребуется? -------------------- [code=cpp] const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out); for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl; [/code] |
|||
|
||||
FlyDragon |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 17.3.2007 Репутация: нет Всего: нет |
можешь код показать как делать?
|
|||
|
||||
BorisVorontsov |
|
|||
![]() Thinker ![]() ![]() Профиль Группа: Комодератор Сообщений: 714 Регистрация: 3.11.2005 Где: Молдавия, г. Киши нёв Репутация: нет Всего: 10 |
Называй цену. Возможно, напишу код.
Нет, не хочешь? Тогда включай сознание и начинай читать отсюда: http://msdn2.microsoft.com/en-us/library/ms997507.aspx -------------------- [code=cpp] const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out); for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl; [/code] |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Просто нужно разделить рисование и создание объектов (линий). Объекты хранить в документе, а рисовать строго на WM_PAINT, тогда ничего пропадать не будет. А двойная буферизация и прочее - это сюда отношения не имеет.
-------------------- ... |
|||
|
||||
BorisVorontsov |
|
|||
![]() Thinker ![]() ![]() Профиль Группа: Комодератор Сообщений: 714 Регистрация: 3.11.2005 Где: Молдавия, г. Киши нёв Репутация: нет Всего: 10 |
Имеет. -------------------- [code=cpp] const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out); for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl; [/code] |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |