www.adept7.kiev.ua
| Форум| Гостевая| Ссылки| Программы| Исходные тексты| Наши партнеры.|
   
| Главная| Рассылки| Услуги| Библиотека| Новости| Авторам| Программистам| Студентам|
delphi c++ assembler
  http://tikitak.narod.ru ---- Главная страница сайта

Шаг 48 - Цвет диалогового окна

Создание проекта

Воспользуемся из предыдущего шага. Только изменения кода.

Создание кода

Новая функция и класс в диалоговом окне
class CTestDlg : public CDialog
{
 ..........
	afx_msg HBRUSH OnCtlColor( CDC* pDC, CWnd* pWnd, UINT nCtlColor );
	CBrush my_color; 
 ...........
};
Добавления к таблице окликов
BEGIN_MESSAGE_MAP(CTestDlg, CDialog)
   .............
   ON_WM_CTLCOLOR()
   .............
END_MESSAGE_MAP()

Реализация

HBRUSH CTestDlg::OnCtlColor( CDC* pDC, CWnd* pWnd, UINT nCtlColor )
{
	return my_color;
}
Изменение инициализации диалогового окна.
BOOL CTestDlg::OnInitDialog()
{
        ........
	my_color.CreateSolidBrush(RGB(0, 255, 155)); 
	.......
}

Описание

Итак мы обьявляем функцию OnCtlColor, которая возвращает кисть для покраски окна. Обьявили и класс кисти, которая будет использоваться для покраски окна.

Когда окну (в данном случае диалоговому) необходимо произвести закраску себя, то оно для получения стиля закраски обращается к OnCtlColor. Но для реализации данной возможности нам необходимо описать в таблице откликов реакцию на событие закраски окна. Эта реакция реализуется описанием события ON_WM_CTLCOLOR()

Дальше мы реализуем функцию возвращая класс кисти. А вот в функции инициализации диалогового окна мы и создаем цвет покраски.

Запускайте, Ваше окно должно стать зеленым.


Предыдущий Шаг | Следующий Шаг | Оглавление

By Artem.
Используются технологии uCoz
 

Rambler's Top100 Rambler's Top100

©  Adept Design Studio

Используются технологии uCoz