| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Вывод в клиентскую область окна |
| Автор: Neighbour 14.4.2006, 08:32 |
| Нужно при выборе одного пункта меню выводить в окно несколько строк текста, другого пункта - рисовать несколько геометрических фигур, третьего пункта - очищать экран. Если рисовать (выводить текст) в обработчике выбора пункта меню при помощи GetDC - при перерисовке окна рисунки(текст) исчезают. Попробовал использовать глобальные логические переменные (одну для текста, другую для рисунков). В обработчике выбора соответствующего пункта меню устанавливаю значение одной переменной в истину - другой в ложь. Рисую все в WM_PAINT (если истина - пользовательским цветом, если ложь - цветом окна) Однако результат лишь при перерисовке окна. Вопросы: 1. Как искуственно заставить приложение при выборе пункта меню перерисовать окно? 2. Может данную задачу можно решить как-нибудь по-другому? |
| Автор: chaos 14.4.2006, 08:36 | ||||
InvalidateRect Добавлено @ 08:41 может сделать так(некий язык
|
| Автор: Neighbour 14.4.2006, 13:04 |
| To chaos Спасибо, ты имеешь в виду перенести обработку меню в WM_PAINT? |
| Автор: Fixin 15.4.2006, 15:58 |
| Нет, он говорит о выносе процедур рисования, вывода текста и очистки в отдельные процедуры. Причем эти процедуры должны быть достаточно оптимизированы. |