Pinselursprung

Wenn eine Anwendung eine Zeichnungsfunktion aufruft, um eine Form zu zeichnen, positioniert das System einen Pinsel am Anfang des Malvorgangs und ordnet dem Clientbereich am Fensterursprung, der die obere linke Ecke des Fensters ist, ein Pixel in der Pinselbitte zu. Die Koordinaten des Pixels, das das System ordnet, werden als Pinselursprung bezeichnet. Der Standardpinselursprung befindet sich in der oberen linken Ecke der Pinselbittebitbit an den Koordinaten (0,0). Das System kopiert dann den Pinsel über den Clientbereich und bildet ein Muster, das so hoch wie die Bitmap ist. Der Kopiervorgang wird Zeile für Zeile fortgesetzt, bis der gesamte Clientbereich gefüllt ist. Das Pinselmuster ist jedoch nur innerhalb der Grenzen der angegebenen Form sichtbar.

Es gibt Instanzen, in denen der Standardpinselursprung nicht verwendet werden soll. Beispielsweise kann es erforderlich sein, dass eine Anwendung denselben Pinsel verwendet, um die Hintergründe der übergeordneten und untergeordneten Fenster zu zeichnen und den Hintergrund eines untergeordneten Fensters mit dem hintergrund des übergeordneten Fensters zu verbinden. Dazu sollte die Anwendung den Pinselursprung zurücksetzen, indem sie die SetBrushOrgEx-Funktion aufruft und den Ursprung um die erforderliche Anzahl von Pixeln verschiebt. (Eine Anwendung kann den aktuellen Pinselursprung abrufen, indem sie die GetBrushOrgEx-Funktion aufruft .)

Die folgende Abbildung zeigt eine fünfzackige star, die mithilfe eines anwendungsdefinierten Pinsels gefüllt wird. Die Abbildung zeigt ein vergrößertes Bild des Pinsels sowie die Position, an der er zu Beginn des Malvorgangs zugeordnet wurde.

Abbildung, die zeigt, dass der Pinselursprung dem Fensterursprung zugeordnet ist