Freigeben über


Fenstergerätekontexte anzeigen

Ein Fenstergerätekontext ermöglicht es einer Anwendung, überall in einem Fenster zu zeichnen, einschließlich des Nichtclientbereichs. Fenstergerätekontexte werden in der Regel von Anwendungen verwendet, die die WM_NCPAINT und WM_NCACTIVATE Nachrichten für Fenster mit benutzerdefinierten Nichtclientbereichen verarbeiten. Die Verwendung eines Fenstergerätekontexts wird nicht für andere Zwecke empfohlen.

Eine Anwendung kann einen Fenstergerätekontext mithilfe der GetWindowDC - oder GetDCEx-Funktion mit der angegebenen DCX_WINDOW-Option abrufen. Die Funktion ruft einen Fenstergerätekontext aus dem Cache des Anzeigegerätekontexts ab. Ein Fenster, das einen Fenstergerätekontext verwendet, muss es nach dem Zeichnen mit der ReleaseDC-Funktion so schnell wie möglich freigeben. Fenstergerätekontexte stammen immer aus dem Cache. die CS_OWNDC- und CS_CLASSDC Klassenstile wirken sich nicht auf den Gerätekontext aus.

Wenn eine Anwendung einen Fenstergerätekontext abruft, legt das System den Geräteursprung auf die obere linke Ecke des Fensters anstelle der oberen linken Ecke des Clientbereichs fest. Außerdem wird der Abschneidebereich so festgelegt, dass er das gesamte Fenster und nicht nur den Clientbereich einschließt. Das System legt die aktuellen Attributwerte eines Fenstergerätekontexts auf die gleichen Standardwerte wie einen allgemeinen Gerätekontext fest. Eine Anwendung kann die Attributwerte ändern, aber das System behält keine Änderungen bei, wenn der Gerätekontext freigegeben wird.