Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Системное программирование и WinAPI > BeginPaint |
Автор: Bogdan1024 18.6.2006, 17:03 |
При обработке сообщения WM_PAINT рекомендуют использовать BeginPaint & EndPaint. BeginPaint даёт координаты перекрытого прямоугольника. Зачем нам перерисовывать перекрытый прямоугольник, если его всё равно не будет видно!? |
Автор: 0x07L 18.6.2006, 20:46 |
Дело в том, что это координаты ранее перекрытого прямоугольника. В момент обработки сообщения он (какая-то его часть) уже виден. |
Автор: Bogdan1024 19.6.2006, 00:50 |
Ааа! Огромное спасибо! |
Автор: Earnest 19.6.2006, 08:13 |
BeginPaint возвращает прямоугольныик, который нуждается в обновлении. Кроме прочего внутри может быть вызван WM_ERASEBACKGND. А EndPaint кроме прочего вызывает ValidateRect на тот прямоугольник, который вернула BeginPaint. Если этого не сделать, то WM_PAINT будет посылаться до бесконечности. |