Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вывод в клиентскую область окна.

4.8K
14 апреля 2006 года
Neighbour
43 / / 15.03.2005
Нужно при выборе одного пункта меню выводить в окно несколько строк текста, другого пункта - рисовать несколько геометрических фигур, третьего пункта - очищать экран.


Если рисовать (выводить текст) в обработчике выбора пункта меню при помощи GetDC - при перерисовке окна рисунки(текст) исчезают. Попробовал использовать глобальные логические переменные (одну для текста, другую для рисунков).
В обработчике выбора соответствующего пункта меню устанавливаю значение одной переменной в истину - другой в ложь. Рисую все в WM_PAINT (если истина - пользовательским цветом, если ложь - цветом окна)
Однако результат лишь при перерисовке окна.

Вопросы:

1. Как искуственно заставить приложение при выборе пункта меню перерисовать окно?

2. Может данную задачу можно решить как-нибудь по-другому?
3.7K
14 апреля 2006 года
bioflash
169 / / 01.10.2005
Цитата:
Originally posted by Neighbour
В обработчике выбора соответствующего пункта меню устанавливаю значение одной переменной в истину - другой в ложь. Рисую все в WM_PAINT (если истина - пользовательским цветом, если ложь - цветом окна)
Однако результат лишь при перерисовке окна.



Можно пользоваться и твоим методом, но тогда после установки значений в переменние сгенерируй собитие для перерисовки...

324
14 апреля 2006 года
AndreySar
532 / / 01.08.2004
Цитата:
Originally posted by Neighbour
Нужно при выборе одного пункта меню выводить в окно несколько строк текста, другого пункта - рисовать несколько геометрических фигур, третьего пункта - очищать экран.


Если рисовать (выводить текст) в обработчике выбора пункта меню при помощи GetDC - при перерисовке окна рисунки(текст) исчезают. Попробовал использовать глобальные логические переменные (одну для текста, другую для рисунков).
В обработчике выбора соответствующего пункта меню устанавливаю значение одной переменной в истину - другой в ложь. Рисую все в WM_PAINT (если истина - пользовательским цветом, если ложь - цветом окна)
Однако результат лишь при перерисовке окна.

Вопросы:

1. Как искуственно заставить приложение при выборе пункта меню перерисовать окно?

2. Может данную задачу можно решить как-нибудь по-другому?



InvalidateRect(hWnd, &rectClient, TRUE);

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог