c ++ перекрасить часть окна - PullRequest
1 голос
/ 25 августа 2010

я знаю, как перекрасить полное окно, но я не знаю, как перекрасить часть окна, как я рисую квадрат, используя gdi +, чем я хочу изменить его координаты, поэтому я хочу перекрасить квадрат не все окно < br /> Anyidea?


я тоже попробовал это
RECT rect2;
rect2.left=0;
rect2.top=100;
rect2.right=225;
rect2.bottom=300;
InvadiateRect(hwnd, &rect2, false);

все равно перекрашиваем все окно

1 Ответ

1 голос
/ 25 августа 2010

Один из способов сделать это - вызвать InvalidateRect() с достаточно большим прямоугольником, чтобы покрыть и старые и новые позиции квадрата, который вы переместили. Затем Windows вызовет ваш обработчик WM_PAINT, чтобы перекрасить область экрана, которая изменилась.

Функция UnionRect() полезна для вычисления этого прямоугольника перекраски.

...