Здравствуйте, Аноним, Вы писали:
А>Целый день голову ломаю, никак не могу найти подходящий класс.
Здесь искали?
А>В общем, как сделать чтобы у CEdit'а (однострочного) по ходу программы (в зависимости от дейтвий пользователя) менялся цвет текста, цвет фона и стиль шрифта.
Есть два способа:
Обработать в окне-родителе этого эдита сообщение WM_CTLCOLOR.
Отнаследоваться от 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.
А>Грамотный и своевременный ответ без вознаграждения не останется!
Спасибо, вознаграждение не требуется.