Fensterbereiche
Zusätzlich zum Aktualisierungsbereich verfügt jedes Fenster über einen sichtbaren Bereich, der den Fensterteil definiert, der für den Benutzer sichtbar ist. Das System ändert den sichtbaren Bereich für das Fenster, wenn sich die Größe des Fensters ändert oder wenn ein anderes Fenster verschoben wird, sodass er einen Teil des Fensters verdeckt oder verfügbar macht. Anwendungen können den sichtbaren Bereich nicht direkt ändern, aber das System verwendet automatisch den sichtbaren Bereich, um den Clippingbereich für jeden für das Fenster abgerufenen Anzeigegerätekontext zu erstellen.
Der Beschneidungsbereich bestimmt, wo das System zeichnen zulässt. Wenn die Anwendung mithilfe des BeginPaint, GetDCoder GetDCEx-Funktion einen Anzeigegerätekontext abruft, legt das System den Clippingbereich für den Gerätekontext auf den Schnittpunkt des sichtbaren Bereichs und den Aktualisierungsbereich fest. Anwendungen können den Clippingbereich mithilfe von Funktionen wie SetWindowRgn, SelectClipPath- und SelectClipRgn-ändern, um die Zeichnung auf einen bestimmten Teil des Aktualisierungsbereichs weiter einzuschränken.
Die formatvorlagen WS_CLIPCHILDREN und WS_CLIPSIBLINGS geben weiter an, wie das System den sichtbaren Bereich für ein Fenster berechnet. Wenn ein Fenster eine oder beide dieser Formatvorlagen aufweist, schließt der sichtbare Bereich untergeordnete Fenster oder gleichgeordnete Fenster aus (Fenster mit demselben übergeordneten Fenster). Daher wird die Zeichnung, die andernfalls in diese Fenster eindringen würde, immer abgeschnitten.