Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 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 будет посылаться до бесконечности.  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)