| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Как изменить цвет окна? |
| Автор: torero 30.4.2006, 11:08 |
| Нахожусь в окне Вид. Используя класс CColorDialog получил, параметры нового цвета. Как теперь изменить цвет окна с сохранением его содержимого? |
| Автор: cozzzy 30.4.2006, 12:41 | ||
| В классе хранишь переменную COLORREF После получения цвета сохраняешь нужный цвет В OnDraw делаешь
|
| Автор: torero 3.5.2006, 22:47 |
| Спасибо. Цвет меняется. Но осталась небольшая проблема. Дело в том, что у меня режим MDI. Четыре шаблона, четыре вида. Чтобы не определять четыре раза параметры цвета, я поставил их определение в CMainFrame, а три параметра: red,green,blue хотел бы передавать в Виды. Но можно ли их передать и как? |
| Автор: cozzzy 4.5.2006, 03:15 | ||
Добавь в каждый класс вида функцию вида
При смене цвета для каждого объекта вид дернуть эту функцию |
| Автор: torero 5.5.2006, 19:42 |
| Здесь я ничего не понял. Ведь m_clr определяется в CMainFrame, а clr должно быть в Виде, или наоборот. К тому же, чтобы дёрнуть функцию, нужно её вызвать с фактическим параметром, взамен clr. Объясни, пожалуйста, подробнее. |
| Автор: cozzzy 6.5.2006, 12:06 |
| Тю, ну добавь в классы вида переменные COLORREF |
| Автор: torero 7.5.2006, 08:15 |
| Всё получилось. Правда, внёс изменения, но теперь работает. Большое спасибо за советы. И ещё: не знаю, как выбрать конверт, чтобы закрыть тему. В итоге сдвинул её в новые. |
| Автор: Earnest 10.5.2006, 16:37 |
| В начале формы быстрого ответа есть ссылка "Пометить вопрос как (не)решенный", доступная авторам и модераторам. Вот ее и надо жать. Что я и делаю за тебя. |