Pinselursprung
Wenn eine Anwendung eine Zeichnungsfunktion aufruft, um ein Shape zu zeichnen, positioniert das System einen Pinsel am Anfang des Lackiervorgangs und ordnet dem Clientbereich am Fensterursprungein Pixel in der Pinselbitmap zu. Dies ist die obere linke Ecke des Fensters. Die Koordinaten des Pixels, das vom System zugeordnet wird, werden als Pinselursprungbezeichnet. Der Standardpinselursprung befindet sich in der oberen linken Ecke der Pinselbitmap 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 fortgesetzt, zeileweise, 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 des übergeordneten Fensters zu mischen. Hierzu 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 einen fünfzackigen Stern, der mit einem anwendungsdefinierten Pinsel gefüllt ist. Die Abbildung zeigt ein vergrößertes Bild des Pinsels sowie die Position, an der sie am Anfang des Paint-Vorgangs zugeordnet wurde.