![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перехват 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 работает нормально, используй его! :)