我知道如何重绘整个窗口,但我不知道如何重绘一小块窗口,就像我使用 gdi+ 绘制一个正方形,而不是我想更改它的坐标,所以我想重绘正方形而不是整个窗口 < br/> 有什么想法吗?
我也试过这个
RECT rect2;
rect2.left=0;
rect2.top=100;
rect2.right=225;
rect2.bottom=300;
InvadiateRect(hwnd, &rect2, false);
它仍然重绘整个窗口
最佳答案
执行此操作的一种方法是使用一个足够大的矩形调用 InvalidateRect()
,以覆盖两个您移动的正方形的新旧位置。然后,Windows 将调用您的 WM_PAINT
处理程序来重新绘制发生变化的屏幕区域。
UnionRect()
函数有助于计算此重绘矩形。
关于C++重绘窗口的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3562051/