除了更新区域,每个窗口都有一个【可见区域】,用于定义用户可见的窗口部分。每当窗口改变大小或者每当其他窗口被移动以使其遮蔽或暴露窗口的一部分时,该系统改变窗口的可视区域。应用程序无法直接更改可见区域,但Windows会自动使用可见区域为窗口检索的任何显示器DC创建剪切区域。
【裁剪区域】确定系统允许绘制的位置。当应用程序使用BeginPaint GetDC或GetDCEx功能检索显示DC时,系统将DC的剪切区域设置为可见区域和更新区域的交点。应用程序可以通过使用SetWindowRgn,SelectClipPath和SelectClipRgn等功能来更改裁剪区域,以进一步限制对更新区域的特定部分的绘制。
WS_CLIPCHILDREN和WS_CLIPSIBLINGS样式进一步指定Windows如何计算窗口的可见区域。如果窗口具有这些样式之一或两者,则可见区域排除任何子窗口或兄弟窗口(具有相同父窗口的窗口)。因此,否则将侵入这些窗口的绘图将始终被剪切。