![]() |
|
|
![]()
|
|
| xTr1m |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
Вот есть такое сообщение, которое используется каогда необходимо перерисовать окно.
ну еще наверное надо в карте прописать
Ну вот этот пример для изменения цвета диалога, а если нужно изменить цвет Edit'а по щелчку на кнопке, то как тогда должен выглядеть ее обработчик? Пытался так, но что-то не выходит
|
||||||
|
|||||||
| Earnest |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Нет, это сообщение служит для того, чтобы дать возможность окнам изменить свой цвет во время перерисовки. И посылает его операционная система, а не клиентский код.
Для того, чтобы перерисовать окно нужно вызвать его метод Invalidate(). Тогда и WM_CTLCOLOR тебе придет, и обрабатывай его на здоровье. -------------------- ... |
||||
|
|||||
| xTr1m |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
А этот метод Invalidate() , он что без параметров? Если я в обработчике кнопки его вызову, то как ф-ия OnCtlColor() получит pDC именно Edit'а ? Если можно, то хоть маленький кусочек кода
|
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Метод Invalidate() всего лишь говорит Windows, что окно хочет перерисоваться целиком. Есть еще InvalidateRect(LPRECT) - хочет перерисовать часть окна. В ответ на это Windows запоминает, какую часть окна нужно будет перерисовывать, и ставит в очередь сообщений WM_PAINT. Ты должен понимать, что прорисовка будет происходить после того, как Invalidate вернет управление, а не во время его работы.
Когда до него дойдет дело, контрол получит WM_PAINT и WM_CTLCOLOR, и там уже будет правильный HDC. Это забота Windows. Какой пример тебе нужен? Invalidate можно вызывать в любой момент, в т.ч. и из обработчика кнопки. Это сообщение отредактировал(а) Earnest - 26.1.2006, 17:57 -------------------- ... |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |