Freigeben über


Informationen zu Gerätekontexten

Geräteunabhängigkeit ist eines der Hauptfeatures von Microsoft Windows. Anwendungen können eine Ausgabe auf einer Vielzahl von Geräten zeichnen und drucken. Die Software, die diese Geräteunabhängigkeit unterstützt, ist in zwei Dynamic Link-Bibliotheken enthalten. Die erste, Gdi.dll, wird als Grafikgeräteschnittstelle (GDI) bezeichnet; der zweite wird als Gerätetreiber bezeichnet. Der Name der sekunde hängt vom Gerät ab, auf dem die Anwendung die Ausgabe zeichnet. Wenn die Anwendung beispielsweise die Ausgabe im Clientbereich ihres Fensters auf einem VGA-Display zeichnet, ist diese Bibliothek Vga.dll. Wenn die Anwendung die Ausgabe auf einem Epson FX-80-Drucker druckt, ist diese Bibliothek Epson9.dll.

Eine Anwendung muss GDI informieren, einen bestimmten Gerätetreiber zu laden und das Gerät nach dem Laden des Treibers für Zeichnungsvorgänge vorzubereiten (z. B. Auswählen einer Linienfarbe und -breite, eines Pinselmusters und einer Farbe, einer Schriftart, eines Clippingbereichs usw.). Diese Aufgaben werden durch Erstellen und Verwalten eines Gerätekontexts (Device Context, DC) ausgeführt. Ein DC ist eine Struktur, die einen Satz von Grafikobjekten und den zugehörigen Attributen sowie die Grafikmodi definiert, die sich auf die Ausgabe auswirken. Die Grafikobjekte umfassen einen Stift für das Zeichnen von Linien, einen Pinsel zum Zeichnen und Füllen, eine Bitmap zum Kopieren oder Scrollen von Bildschirmteilen, eine Palette zum Definieren der verfügbaren Farben, einen Bereich für Beschneidungen und andere Vorgänge sowie einen Pfad für Mal- und Zeichnungsvorgänge. Im Gegensatz zu den meisten Strukturen hat eine Anwendung nie direkten Zugriff auf den DC. stattdessen wird die -Struktur indirekt durch Aufrufen verschiedener Funktionen ausgeführt.

Diese Übersicht enthält Informationen zu den folgenden Themen:

Ein wichtiges Konzept ist das Layout eines DC oder eines Fensters, das die Reihenfolge beschreibt, in der GDI-Objekte und Text (von links nach rechts oder von rechts nach links) angezeigt werden. Weitere Informationen finden Sie unter "Fensterlayout und Spiegelung" in Fensterfeatures und den Funktionen GetLayout und SetLayout .