Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изменение цветов диалога 
:(
    Опции темы
kometa_triatlon
  Дата 14.5.2005, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Как перекрасить диалоговое окно?
Код

HBRUSH CMainDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

    HBRUSH brush=CreateSolidBrush(RGB(255,255,255));

    if(nCtlColor == CTLCOLOR_DLG){
            pDC->SetBkColor(RGB(255,255,255));
            hbr=brush;
    }


    if(nCtlColor == CTLCOLOR_STATIC){
            pDC->SetBkColor(RGB(255,255,255));
            pDC->SetTextColor(RGB(0,0,255));
            hbr=brush;
    }

    return hbr;
}

Можно так, но работает лишь с некоторыми контролами. Перекрашивает фон диалога, статический текст... Кнопки у меня почему-то так и остались серыми( CTLCOLOR_BTN почему-то не сработал).
Но ведь есть еще небольшая рамка вокруг окна, меню, рамки groupbox. Как их перекрасить?


--------------------
Всё очень просто: сказки обман,
Солнечный остров скрылся в туман,
Замков воздушных не носит земля,
Кто-то ошибся, ты или я.

--------------
Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым.
PM MAIL ICQ   Вверх
Coocky
Дата 14.5.2005, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

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



"Красота" диалога такой, к сожалению и останется..
Цитата
Кнопки у меня почему-то так и остались серыми( CTLCOLOR_BTN почему-то не сработал).

Должен...
Но попробуй по другому.Создай свой класс кнопки, и перегрузи виртуальную функцию OnNotify()
определи, есть ли сообщение о перекраске( через if) и там крась.
Но я всегда кнопку красил через перегрузку для нее вирт.функции DrawItem( )



--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
kometa_triatlon
Дата 15.5.2005, 00:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата
о я всегда кнопку красил через перегрузку для нее вирт.функции DrawItem( )

Это как? smile
Можно пример кода?


--------------------
Всё очень просто: сказки обман,
Солнечный остров скрылся в туман,
Замков воздушных не носит земля,
Кто-то ошибся, ты или я.

--------------
Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым.
PM MAIL ICQ   Вверх
Coocky
Дата 15.5.2005, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

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



kometa_triatlon
Поищи в Маленькие тайны.МФС.
Там есть раскраска листбока и листконтрола!
Поищи ,есть про кнопку(не в тайнах),но там то же есть мои советы(только давно это было,так что ищи не только в ветке МФС,но и в С++).
Кстати там и найдешь,как сделать так,что б твоя созданая кнопку работала "правильно" и быстро smile


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
kometa_triatlon
Дата 16.5.2005, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Почитал вашу эпопею с кнопкой smile smile
Потом попробовал создать свою, не вышло, иду юзать метод RTFM...

Так это хорошо, а для меню варианты в природе (то есть в MFC ) существуют? Можно изменять его цвет?


--------------------
Всё очень просто: сказки обман,
Солнечный остров скрылся в туман,
Замков воздушных не носит земля,
Кто-то ошибся, ты или я.

--------------
Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым.
PM MAIL ICQ   Вверх
Coocky
Дата 17.5.2005, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

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



Еще раз повторяю-перегрузка виртуальной функции DrawItem smile
Цитата
Потом попробовал создать свою, не вышло

Код в студию!


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
kometa_triatlon
Дата 18.5.2005, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата
Код в студию!

Да не стоит, я для начала попробую что-то выучить smile

Цитата
Еще раз повторяю-перегрузка виртуальной функции DrawItem

Для меню то есть?


--------------------
Всё очень просто: сказки обман,
Солнечный остров скрылся в туман,
Замков воздушных не носит земля,
Кто-то ошибся, ты или я.

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


 




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


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

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