Re[3]: Изменение цветов в CEdit
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 02.10.04 23:10
Оценка: 2 (1)
Здравствуйте, <Аноним>, Вы писали:

А> Ну да, искал я там. Там одни полноценные цветовые редакторы, а мне нужен маленький CEdit, немногострочный, простенький и без лишней функциональности.




SDB>>

    SDB>>
  1. Отнаследоваться от 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 ]
- Искренне ваш, Поросенок Пафнутий
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.