Как при перерисовке окна по WM_PAINT получить обновляемый регион. То есть регион который становится видимым при изменении размеров (при только уменьшении он не должен появляться), при перемещении других окон на данным, при прокрутке и так далее. Предполагается что остальныя часть окна содержит неизменное изображение и не нуждается в перерисовке.
Проблема в том, что я получаю только весь видимый прямоугольник. Код стандартный:
switch(message)
{
case WM_PAINT:
{
PAINTSTRUCT ps = {0};
auto hdc = ::BeginPaint(window, &ps);
const auto bounds = ps.rcPaint; // здесь весь фрейм
const auto dirty = ???
::EndPaint(window, hdc);
}
break;
case WM_SIZE:
break;
default:
return DefWindowProc(window, message, wparam, lparam);
}
return 0;
PtInRegion– nick_n_a Sep 28 '18 at 09:22