Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перехват WM_PAINT [D7, WinXP]


MrAndrey_ka ©   (2005-05-23 20:52:00) 

Подскажите в чем проблема моя форма постоянноловит это сообщение. И окно постоянно обрисовывается, в то время как OnPaint работает как надо.


alpet   (2005-05-24 10:51:00) [1]

В обработчике сообщения (в его конце) нужно сделать две вещи:
ValidateRect (hwnd, nil); // доказать системе что окно перерисовано
msg.result := 0; // и что обработка WM_PAINT произведена.

Иначе система будет отправлять их до бесконечности, загружая ЦП.


Digitman   (2005-05-24 10:41:00) [2]


> моя форма постоянно ловит это сообщение


не трогай форму, не таскай ее мышью туда-сюда, не перекрывай ее окно любыми другими окнами - будет тебе счастье


MsMash_ka   (2005-05-24 10:35:00) [3]

... а не мог ли ты в обработчик WM_PAINT поставить вызов чегото что посылает это сообщение снова - например InvalidateRect() ???


DVM   (2005-05-24 10:26:00) [4]

Страшное, наверное, сообщение, если даже окно обрисовывается!


_silver   (2005-05-24 00:13:00) [5]

MrAndrey_ka   (23.05.05 20:52)
обрисовывается

надо же...


Kind   (2005-05-23 22:53:00) [6]

Если тебе не надо ловить WM_PAINT, то не лови! Если OnPaint работает нормально, используй его! :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо