Dela via


Överordnade visningsenhetskontexter

En överordnad enhetskontext gör det möjligt för ett program att minimera den tid som krävs för att konfigurera urklippsregionen för ett fönster. Ett program använder vanligtvis överordnade enhetskontexter för att påskynda ritningen för kontrollfönster utan att kräva en privat enhet eller en klassenhetskontext. Systemet använder till exempel överordnade enhetskontexter för push-knapp och redigeringskontroller. Överordnade enhetskontexter är endast avsedda att användas med underordnade fönster, aldrig med popup-fönster på toppnivå eller popup-fönster.

Ett program kan ange den CS_PARENTDC formatmallen för att ange urklippsområdet för det underordnade fönstret till det överordnade fönstrets så att det underordnade fönstret kan rita i det överordnade fönstret. Att ange CS_PARENTDC förbättrar ett programs prestanda eftersom systemet inte behöver fortsätta att beräkna om den synliga regionen för varje underordnat fönster.

Attributvärden som anges av det överordnade fönstret bevaras inte för det underordnade fönstret. Det överordnade fönstret kan till exempel inte ange penseln för dess underordnade fönster. Den enda egenskap som bevaras är urklippsregionen. Fönstret måste klippa ut sina egna utdata till fönstrets gränser. Eftersom urklippsregionen för den överordnade enhetskontexten är identisk med det överordnade fönstret kan det underordnade fönstret potentiellt rita över hela det överordnade fönstret, men den överordnade enhetskontexten får inte användas på det här sättet.

Systemet ignorerar CS_PARENTDC om det överordnade fönstret använder en privat enhet eller en klassenhetskontext, om det överordnade fönstret klipper sina underordnade fönster eller om det underordnade fönstret klipper sina underordnade fönster eller syskonfönster.