Re: Изменение цветов в CEdit
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 01.10.04 12:31
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Целый день голову ломаю, никак не могу найти подходящий класс.


Здесь искали?

А>В общем, как сделать чтобы у CEdit'а (однострочного) по ходу программы (в зависимости от дейтвий пользователя) менялся цвет текста, цвет фона и стиль шрифта.


Есть два способа:

  1. Обработать в окне-родителе этого эдита сообщение WM_CTLCOLOR.
  2. Отнаследоваться от CEdit и обработать то же самое сообщение в наследнике, используя ON_WM_CTLCOLOR_REFLECT и TN062: Message Reflection for Windows Controls.

И в том и в другом случае рекомендую внимательно прочитать документацию из PSDK касающуюся обработки сообщения WM_CTLCOLOREDIT, обратив внимание на то, что

Read-only or disabled edit controls do not send the WM_CTLCOLOREDIT message; instead, they send the WM_CTLCOLORSTATIC message.


То есть в OnCtlColor() Вам нужно будет анализировать параметр nCtlColor не только на равенство CTLCOLOR_EDIT, но и на равенство CTLCOLOR_STATIC.

А>Грамотный и своевременный ответ без вознаграждения не останется!


Спасибо, вознаграждение не требуется.
- Искренне ваш, Поросенок Пафнутий
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.