我知道如何重新绘制完整的窗口,但我不知道如何重绘窗口的模式,就像我使用gdi +绘制一个squre而不是我想要更改它的坐标所以我想重新绘制squre而不是整个窗口<登记/> anyidea?
<小时/> 我也试过这个
RECT rect2;
rect2.left=0;
rect2.top=100;
rect2.right=225;
rect2.bottom=300;
InvadiateRect(hwnd, &rect2, false);
它仍然重绘整个窗口
答案 0 :(得分:1)
执行此操作的一种方法是使用足够大的矩形调用InvalidateRect()
,以覆盖两个您移动的方块的旧位置和新位置。然后,Windows将调用您的WM_PAINT
处理程序重新绘制已更改的屏幕区域。
UnionRect()
函数有助于计算此重绘矩形。