Fensterbereiche
Zusätzlich zum Updatebereich verfügt jedes Fenster über einen sichtbaren Bereich , der den für den Benutzer sichtbaren Fensterteil definiert. 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 ein Teil des Fensters verdeckt oder verfügbar gemacht wird. 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 Beschneidebereich bestimmt, wo das System das Zeichnen zulässt. Wenn die Anwendung einen Anzeigegerätekontext mithilfe der Funktion BeginPaint, GetDC oder GetDCEx abruft, legt das System den Clippingbereich für den Gerätekontext auf die Schnittmenge zwischen dem sichtbaren Bereich und dem Updatebereich fest. Anwendungen können den Clippingbereich mithilfe von Funktionen wie SetWindowRgn, SelectClipPath und SelectClipRgn ändern, um das Zeichnen 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 über eine oder beide dieser Stile verfügt, schließt der sichtbare Bereich alle untergeordneten Fenster oder gleichgeordneten Fenster (Fenster mit demselben übergeordneten Fenster) aus. Daher werden Zeichnungen, die andernfalls in diese Fenster eindringen würden, immer abgeschnitten.