Die meisten Zeichenoperation führt Windows mit Hilfe der GDI (Graphics Device Interface) durch. Dazu gehört auch das Zeichnen von Menüs, Schaltflächen, Bildlaufleisten und anderen Oberflächenelementen. Normalerweise merkt man davon nichts, da Windows das alles für uns übernimmt.
Wollen wir aber selbst Objekte (Linien, Rechtecke, gefüllte Flächen, usw.) im Clientbereich unseres Fensters ausgeben, müssen wir auch selbst Hand anlegen. Wie man dabei vorgeht und was zu beachten ist, ist Gegenstand dieses Tutorials.
Da die GDI sehr umfangreich ist (sie enthält immerhin mehrere hundert Funktionen und zugehörige Datentypen), kann dies nur eine oberflächliche Einführung, ein Einstieg, sein.
Die Funktionen, die von der GDI gekapselt werden, befinden sich in der "GDI32.dll". Dabei übernimmt sie aber nur die übergeordnete Logik und überlässt die eigentliche Arbeit den jeweiligen Gerätetreiben. Windows kann über den Treiber ermitteln, welche Operationen der Treiber selbst ausführen kann und wo er Unterstützung braucht.
Besitzt die Grafikkarte zum Beispiel einen Co-Prozessor, erhält sie nur die Rohdaten zum Zeichnen. Ist dies nicht der Fall, muss der systemeigene Prozessor diese Arbeit übernehmen; mit Daten, die ihm die GDI32 liefert.
Da der Gerätetreiber also die eigentliche Arbeit übernimmt, kann eine große Geräteunabhängigkeit erzielt werden. Die GDI sagt dem Treiber z.B. nur: "Zeichne eine Linie von Punkt A nach Punkt B". Mehr nicht!
Wie das nun genau auf dem Gerät vonstatten geht (also welche Befehle gesendet werden müssen, damit die Linie auch erscheint), dafür ist allein der Treiber zuständig. Und ob dabei ein Grafikkartentreiber angesprochen wird oder ein Drucktreiber, ist dabei völlig unerheblich.
(Quelle: "Windows-Programmierung", 5. Auflage, Microsoft Press 2000, Charles Petzold)