Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как изменить цвет окна? 
V
    Опции темы
torero
Дата 30.4.2006, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 177
Регистрация: 1.2.2006

Репутация: нет
Всего: нет



    Нахожусь в окне Вид. Используя класс CColorDialog получил,
  параметры нового цвета. Как теперь изменить цвет окна с 
  сохранением его содержимого?
  

Это сообщение отредактировал(а) torero - 7.5.2006, 08:21
PM MAIL   Вверх
cozzzy
Дата 30.4.2006, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 29.4.2006
Где: Харьков

Репутация: нет
Всего: нет



В классе хранишь переменную COLORREF
После получения цвета сохраняешь нужный цвет
В OnDraw делаешь 

Код

CRect rc;
GetClientRect(&rc);
pDC->FillSolidRect(rc, m_clr);
 

Это сообщение отредактировал(а) cozzzy - 30.4.2006, 13:04
PM MAIL   Вверх
torero
Дата 3.5.2006, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 177
Регистрация: 1.2.2006

Репутация: нет
Всего: нет



    Спасибо. Цвет меняется.
  Но осталась небольшая проблема. Дело в том, что у меня режим MDI.
  Четыре шаблона, четыре вида. Чтобы не определять четыре раза
  параметры цвета, я поставил их определение в CMainFrame, а три
  параметра: red,green,blue хотел бы передавать в Виды.
   Но можно ли их передать и как?   
   
PM MAIL   Вверх
cozzzy
Дата 4.5.2006, 03:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 29.4.2006
Где: Харьков

Репутация: нет
Всего: нет



Добавь в каждый класс вида функцию вида 
Код

void CSomeView::SetBackColor(const COLORREF& clr)
{
   m_clr = clr;
}

При смене цвета для каждого объекта вид дернуть эту функцию  
PM MAIL   Вверх
torero
Дата 5.5.2006, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 177
Регистрация: 1.2.2006

Репутация: нет
Всего: нет



    Здесь я ничего не понял. Ведь m_clr определяется в CMainFrame, а
  clr должно быть в Виде, или наоборот. К тому же, чтобы дёрнуть
  функцию, нужно её вызвать с фактическим параметром, взамен clr.
  Объясни, пожалуйста, подробнее.  
PM MAIL   Вверх
cozzzy
Дата 6.5.2006, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 29.4.2006
Где: Харьков

Репутация: нет
Всего: нет



Тю, ну добавь в классы вида переменные COLORREF 
PM MAIL   Вверх
torero
Дата 7.5.2006, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 177
Регистрация: 1.2.2006

Репутация: нет
Всего: нет



   Всё получилось. Правда, внёс изменения, но теперь работает.
   Большое спасибо за советы. 
   
   И ещё: не знаю, как выбрать конверт,  чтобы закрыть тему.
   В итоге сдвинул её в новые. 

Это сообщение отредактировал(а) torero - 7.5.2006, 08:26
PM MAIL   Вверх
Earnest
Дата 10.5.2006, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



В начале формы быстрого ответа есть ссылка "Пометить вопрос как (не)решенный", доступная авторам и модераторам. Вот ее и надо жать. Что я и делаю за тебя. 


--------------------
...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0528 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.