Auffüllen von Regionen
Eine Anwendung füllt das Innere eines Bereichs durch Aufrufen der FillRgn-Funktion und Bereitstellen eines Handles, der einen bestimmten Pinsel identifiziert. Wenn eine Anwendung FillRgn aufruft, füllt das System den Bereich mit dem Pinsel aus, indem der aktuelle Füllmodus für den angegebenen Gerätekontext verwendet wird. Es gibt zwei Füllmodi: alternative und Winding. Die Anwendung kann den Füllmodus für einen Gerätekontext festlegen, indem sie die SetPolyFillMode-Funktion aufruft. Die Anwendung kann den aktuellen Füllmodus für einen Gerätekontext abrufen, indem sie die GetPolyFillMode-Funktion aufruft.
Die folgende Abbildung zeigt zwei identische Regionen: eine mit dem alternativen Modus und die andere mithilfe des Ziehmodus gefüllt.

Alternativer Modus
Führen Sie den folgenden Test aus, um zu bestimmen, welche Pixel das System hervorhebt, wenn der alternative Modus angegeben wird:
- Wählen Sie ein Pixel im Inneren der Region aus.
- Zeichnen Sie einen imaginären Strahl in positiver x-Richtung von diesem Pixel in Richtung Unendlichkeit.
- Jedes Mal, wenn der Strahl eine Begrenzungslinie überschneidet, erhöhen Sie einen Count-Wert.
Das System hebt das Pixel hervor, wenn der Count-Wert eine ungerade Zahl ist.
Ziehmodus
Führen Sie den folgenden Test aus, um zu bestimmen, welche Pixel das System hervorhebt, wenn der Ziehmodus angegeben wird:
- Bestimmen Sie die Richtung, in der jede Begrenzungslinie gezeichnet wird.
- Wählen Sie ein Pixel im Inneren der Region aus.
- Zeichnen Sie einen imaginären Strahl in positiver x-Richtung vom Pixel in Richtung Unendlichkeit.
- Jedes Mal, wenn der Strahl eine Begrenzungslinie mit einer positiven y-Komponente überschneidet, erhöhen Sie einen Count-Wert. Jedes Mal, wenn der Strahl eine Begrenzungslinie mit einer negativen y-Komponente überschneidet, wird der Zählerwert dekrementiert.
Das System hebt das Pixel hervor, wenn der Count-Wert ungleich 0 (null) ist.