| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > CEdit Background color |
| Автор: rainbow86 6.3.2006, 17:21 |
| Как изменить цвет background'а в CEdit? Чего-то я не нашел ничего. |
| Автор: Earnest 6.3.2006, 19:06 |
| Нужно обрабатывать сообщение WM_CTLCOLOREDIT. А еще - поискать в форуме, было уже про это. |
| Автор: rainbow86 6.3.2006, 22:48 | ||
| Вот что я нашел на форуме:
Но все таки это не совсем то. Здесь edit окрашивается в цвет кисти, но когда начинаешь печетать, под символами появляется белый фон, а где нет символов там остается цвет кисти. Мне же надо поменять цвет фона в edit'е. Пробовал SetBkColor(), но по моему он вообще ничего не делает???? |
| Автор: Earnest 7.3.2006, 15:14 |
| SetBkColor ничего не делает, если стоит SetBkMode (TRANSPARENT). Попробуй SetBkMode не ставить, а вот SetBkColor вызови. |
| Автор: rainbow86 8.3.2006, 11:10 |
| Я уже перепробовал и с SetBkMode (TRANSPARENT) и без, но все равно я не вижу никакого влияние SetBkColor(). Кто-нибудь знает как он работает??? |
| Автор: rainbow86 8.3.2006, 14:01 |
| Эту проблему решил. Теперь появилась другая. Дело в том что мне нужно закрашивать edit когда у него нет фокуса. А он обновляется только тогда когда у него есть фокус или когда обновляется все окно.Когда фокус переходит в другое окно мне надо заставить его обновиться. Как правилней это сделать? |
| Автор: Earnest 9.3.2006, 09:14 |
| Есть такой метод Invalidate. Когда обновить окно, вызывай его. Или - для части окна - InvalidateRect. |