Здравствуйте, <Аноним>, Вы писали:
А>
Ну да, искал я там. Там одни полноценные цветовые редакторы, а мне нужен маленький CEdit, немногострочный, простенький и без лишней функциональности.
SDB>>
SDB>>Отнаследоваться от CEdit и обработать то же самое сообщение в наследнике, используя ON_WM_CTLCOLOR_REFLECT и TN062: Message Reflection for Windows Controls.
SDB>>
А>Да, я пробовал именно второй (брал пример отсюда http://www.rsdn.ru/Forum/?mid=386559). Цвет меняется, но ведь только один раз, в момент создания. А мне нужно, еще раз повторю, по ходу программы. Я непонимаю принцип действия этого кода, ему что надо сообщение WM_CTLCOLOR посылать? Если так, то как это делать??
Гх-м-м... AFAIK сообщение WM_CTLCOLOR посылается всякий раз, когда винде нужно узнать, как рисовать данный контрол. Насколько я понимаю, Вы хотите перекрашивать Ваш эдит прямо в процессе набора текста, например. Попробуйте вызывать RedrawWindow(), а в коде обработчика WM_CTLCOLOR пропишите отрисовку в соответствии с тем, как выглядит текст в данный момент.
P.S.
Сообщения посылаются с помощью методов CWnd::SendMessage() и CWnd::PostMessage().
[ posted via RSDN@Home 1.1.2 stable, accompanied by Iron Maiden — Two Minutes To Midnight ]