Ausschneidende Regionen
Ein Abschneidebereich ist eines der Grafikobjekte, die eine Anwendung in einen Gerätekontext (Device Context, DC) auswählen kann. Sie ist in der Regel rechteckig. Einige Gerätekontexte bieten einen vordefinierten oder standardmäßigen Abschneidebereich, andere hingegen nicht. Wenn Sie beispielsweise ein Gerätekontexthandle von der BeginPaint-Funktion abrufen, enthält der DC einen vordefinierten rechteckigen Ausschneidebereich, der dem ungültigen Rechteck entspricht, für das eine Neulackierung erforderlich ist. Wenn Sie jedoch ein Gerätekontexthandle abrufen, indem Sie die GetDC-Funktion mit einem NULL-hWnd-Parameter aufrufen oder die CreateDC-Funktion aufrufen, enthält der DC keinen Standardausschnittbereich. Weitere Informationen zu Gerätekontexten, die von der BeginPaint-Funktion zurückgegeben werden, finden Sie unter Malen und Zeichnen . Weitere Informationen zu Gerätekontexten, die von den Funktionen CreateDC und GetDC zurückgegeben werden, finden Sie unter Gerätekontexte.
Anwendungen können eine Vielzahl von Vorgängen für Abschneidebereiche ausführen. Einige dieser Vorgänge erfordern ein Handle, das die Region identifiziert, andere nicht. Beispielsweise kann eine Anwendung die folgenden Vorgänge direkt in der Abschneidregion eines Gerätekontexts ausführen.
- Bestimmen Sie, ob die Grafikausgabe innerhalb der Rahmen der Region angezeigt wird, indem Sie Koordinaten der entsprechenden Linie, des Bogens, der Bitmap, des Texts oder der gefüllten Form an die PtVisible-Funktion übergeben.
- Ermitteln Sie, ob ein Teil des Clientbereichs eine Region überschneidet, indem Sie die RectVisible-Funktion aufrufen.
- Verschieben Sie die vorhandene Region um einen angegebenen Offset, indem Sie die OffsetClipRgn-Funktion aufrufen.
- Schließen Sie einen rechteckigen Teil des Clientbereichs aus dem aktuellen Beschneidungsbereich aus, indem Sie die ExcludeClipRect-Funktion aufrufen.
- Kombinieren Sie einen rechteckigen Teil des Clientbereichs mit dem aktuellen Beschneidungsbereich, indem Sie die IntersectClipRect-Funktion aufrufen.
Nach dem Abrufen eines Handles, der den Abschneidebereich identifiziert, kann eine Anwendung alle Vorgänge ausführen, die für Regionen üblich sind, z. B.:
- Kombinieren einer Kopie des aktuellen Beschneidungsbereichs mit einer zweiten Region durch Aufrufen der CombineRgn-Funktion .
- Vergleichen Sie eine Kopie des aktuellen Beschneidungsbereichs mit einer zweiten Region, indem Sie die EqualRgn-Funktion aufrufen.
- Bestimmen Sie, ob sich ein Punkt im Inneren einer Kopie des aktuellen Beschneidungsbereichs befindet, indem Sie die PtInRegion-Funktion aufrufen.