我在TCanvas上有一个区域有几个子区域需要重新绘制,但其他点不需要。由于不必要的绘画可能很昂贵,我试图通过使用GetClipRgn只重画需要的东西。在Canvas的handle上和checkingifcertainrectsoverlaptheregion.不幸的是,现在绘图以奇怪的方式失败了。所以我调用GetRgnBox在该区域上以获得其边界矩形。从文档中,我希望这会产生与调用GetClipBox完全相同的矩形。在Canvas的handle上。(或者简单地检索它的ClipRect,以这种方式计算它。)但是,这两个rect却截然不同。ClipRect属性(GetClipBox版本)