Вывод в клиентскую область окна.
Если рисовать (выводить текст) в обработчике выбора пункта меню при помощи GetDC - при перерисовке окна рисунки(текст) исчезают. Попробовал использовать глобальные логические переменные (одну для текста, другую для рисунков).
В обработчике выбора соответствующего пункта меню устанавливаю значение одной переменной в истину - другой в ложь. Рисую все в WM_PAINT (если истина - пользовательским цветом, если ложь - цветом окна)
Однако результат лишь при перерисовке окна.
Вопросы:
1. Как искуственно заставить приложение при выборе пункта меню перерисовать окно?
2. Может данную задачу можно решить как-нибудь по-другому?
Цитата:
Originally posted by Neighbour
В обработчике выбора соответствующего пункта меню устанавливаю значение одной переменной в истину - другой в ложь. Рисую все в WM_PAINT (если истина - пользовательским цветом, если ложь - цветом окна)
Однако результат лишь при перерисовке окна.
В обработчике выбора соответствующего пункта меню устанавливаю значение одной переменной в истину - другой в ложь. Рисую все в WM_PAINT (если истина - пользовательским цветом, если ложь - цветом окна)
Однако результат лишь при перерисовке окна.
Можно пользоваться и твоим методом, но тогда после установки значений в переменние сгенерируй собитие для перерисовки...
Цитата:
Originally posted by Neighbour
Нужно при выборе одного пункта меню выводить в окно несколько строк текста, другого пункта - рисовать несколько геометрических фигур, третьего пункта - очищать экран.
Если рисовать (выводить текст) в обработчике выбора пункта меню при помощи GetDC - при перерисовке окна рисунки(текст) исчезают. Попробовал использовать глобальные логические переменные (одну для текста, другую для рисунков).
В обработчике выбора соответствующего пункта меню устанавливаю значение одной переменной в истину - другой в ложь. Рисую все в WM_PAINT (если истина - пользовательским цветом, если ложь - цветом окна)
Однако результат лишь при перерисовке окна.
Вопросы:
1. Как искуственно заставить приложение при выборе пункта меню перерисовать окно?
2. Может данную задачу можно решить как-нибудь по-другому?
Нужно при выборе одного пункта меню выводить в окно несколько строк текста, другого пункта - рисовать несколько геометрических фигур, третьего пункта - очищать экран.
Если рисовать (выводить текст) в обработчике выбора пункта меню при помощи GetDC - при перерисовке окна рисунки(текст) исчезают. Попробовал использовать глобальные логические переменные (одну для текста, другую для рисунков).
В обработчике выбора соответствующего пункта меню устанавливаю значение одной переменной в истину - другой в ложь. Рисую все в WM_PAINT (если истина - пользовательским цветом, если ложь - цветом окна)
Однако результат лишь при перерисовке окна.
Вопросы:
1. Как искуственно заставить приложение при выборе пункта меню перерисовать окно?
2. Может данную задачу можно решить как-нибудь по-другому?
InvalidateRect(hWnd, &rectClient, TRUE);