Clipregio's
Een knipgebied is een van de grafische objecten die een toepassing kan selecteren in een apparaatcontext (DC). Het is meestal rechthoekig. Sommige apparaatcontexten bieden een vooraf gedefinieerd of standaard uitsnijdingsgebied, terwijl andere dat niet doen. Als u bijvoorbeeld een apparaatcontexthandle ophaalt uit de functie BeginPaint, bevat de apparaatcontext een vooraf gedefinieerd rechthoekig knipgebied dat overeenkomt met de ongeldige rechthoek waarvoor opnieuw moet worden geschilderd. Wanneer u echter een device context-handle verkrijgt door de functie GetDC aan te roepen met een NULLhWnd parameter of door de functie CreateDC aan te roepen, bevat de device context geen standaard knipgebied. Zie Schilderij en tekening voor meer informatie over apparaatcontexten die worden geretourneerd door de functie BeginPaint. Zie Device Contextsvoor meer informatie over apparaatcontexten die worden geretourneerd door de CreateDC- en Get DC-functies.
Toepassingen kunnen verschillende bewerkingen uitvoeren op knipregio's. Sommige van deze bewerkingen vereisen een ingang die de regio identificeert en sommige niet. Een toepassing kan bijvoorbeeld de volgende bewerkingen rechtstreeks uitvoeren op de knipregio van een apparaatcontext.
- Bepaal of de grafische uitvoer binnen de randen van het gebied wordt weergegeven door coördinaten van de bijbehorende lijn, boog, bitmap, tekst of gevulde vorm door te geven aan de functie PtVisible.
- Bepaal of een deel van het clientgebied een regio kruist door de functie RectVisible aan te roepen.
- Verplaats de bestaande regio met een opgegeven offset door de functie OffsetClipRgn aan te roepen.
- Sluit een rechthoekig deel van het clientgebied uit van de huidige knipregio door de functie ExcludeClipRect aan te roepen.
- Combineer een rechthoekig deel van het clientgebied met de huidige knipregio door de functie IntersectClipRect aan te roepen.
Na het verkrijgen van een ingang die de knipregio identificeert, kan een toepassing elke bewerking uitvoeren die gemeenschappelijk is met regio's, zoals:
- Een kopie van de huidige knipregio combineren met een tweede regio door de functie CombineRgn aan te roepen.
- Vergelijk een kopie van de huidige knipregio met een tweede regio door de functie EqualRgn- aan te roepen.
- Bepaal of een punt zich binnen het binnenste van een kopie van de huidige knipregio bevindt door de functie PtInRegion aan te roepen.