Форум программистов CodeGuru
18 Январь 2018, 18:08:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Цвет шрифта  (Прочитано 15695 раз)
0 Пользователей и 1 Гость смотрят эту тему.
InIn
Пользователь
***
Офлайн Офлайн

Сообщений: 52


Просмотр профиля
« : 18 Июнь 2007, 22:04:23 »

Привет!

Как можно изменить цвет шрифта в EditBox диалогового окна?
Работаю в Visual C++ 6.0.

С уважением, InIn!
Записан
3V
Администратор
Ветеран
*****
Офлайн Офлайн

Сообщений: 1347



Просмотр профиля WWW
« Ответ #1 : 20 Июнь 2007, 20:15:02 »

Надо обрабатывать сообщение WM_CTLCOLOR (в MFC обработчик OnCtlColor добавляется с помошью визарда) в родительском окне.
С этим сообщением передается дескриптор контекста устройства.
В OnCtlColor передается указатель на объект класса CDC. Для установки цвета шрифта достаточно вызвать SetTextColor:
Код:
HBRUSH CMyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
  HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

  if (pWnd->GetDlgCtrlID() == ID_OF_MY_EDIT_BOX)
  {
     pDC->SetTextColor(RGB(255, 0, 0));
  }

  return ::GetSysColorBrush(COLOR_WINDOW); // тут надо возвращать дескриптор кисти,
                                    // которой будет закрашен фон элемента управления
}
Записан

InIn
Пользователь
***
Офлайн Офлайн

Сообщений: 52


Просмотр профиля
« Ответ #2 : 21 Июнь 2007, 13:37:14 »

Спасибо 3V!!!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!