Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изменение цвета диалога 
V
    Опции темы
CityAC
Дата 27.2.2007, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



На диалоге кнопка. Нажимаем ее  - выбираем новый  цвет диалога:
Код

void MyDialog::OnBnClickedClrBtn()
{
    CColorDialog dlg;
    dlg.m_cc.rgbResult = RGB(169,184,184);
    dlg.m_cc.Flags |= CC_FULLOPEN | CC_RGBINIT;
    if(dlg.DoModal() == IDOK)
    {
        m_TipBack = dlg.GetColor();    // переменная класса MyDialog тип - COLORREF
        m_redBrush.DeleteObject();/// переменная класса MyDialog тип - CBrush
        m_redBrush.CreateSolidBrush(m_TipBack);
        
        
    }
}

Далее по Шеферду
Код


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

    if(nCtlColor ==CTLCOLOR_DLG)
    {
        pDC->SetBkColor(m_TipBack);
        return (HBRUSH)m_redBrush;
    }
}

Цвет меняется только если свернуть и затем развернуть приложение.
Я так понимаю, в первом куске кода нужно вызвать перерисовку диалога.
Как это сделать ума не приложу, пробовал получать прямоугольник дилога и затем InvalidateRect( на него ) - 
не выходит.
Жду помощь зала smile 





--------------------
Вижу цель, не вижу припятствий.  
PM MAIL ICQ   Вверх
vinter
Дата 27.2.2007, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

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



Invalidate() или UpdateWindow();


--------------------
Мой блог
PM MAIL WWW   Вверх
CityAC
Дата 27.2.2007, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



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


 




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


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

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