Delen via


Over de contexten van apparaten

Apparaatafhankelijkheid is een van de belangrijkste functies van Microsoft Windows. Toepassingen kunnen uitvoer tekenen en afdrukken op verschillende apparaten. De software die ondersteuning biedt voor deze apparaatafhankelijkheid is opgenomen in twee bibliotheken voor dynamische koppelingen. De eerste, Gdi.dll, wordt aangeduid als de grafische apparaatinterface (GDI); de tweede wordt een apparaatstuurprogramma genoemd. De naam van de tweede is afhankelijk van het apparaat waarop de toepassing uitvoer weergeeft. Als de toepassing bijvoorbeeld uitvoer tekent in het clientgebied van het venster op een VGA-scherm, is deze bibliotheek Vga.dll; als de toepassing uitvoer afdrukt op een Epson FX-80-printer, is deze bibliotheek Epson9.dll.

Een toepassing moet GDI informeren om een bepaald apparaatstuurprogramma te laden en zodra het stuurprogramma is geladen, om het apparaat voor te bereiden op tekenbewerkingen (zoals het selecteren van een lijnkleur en -breedte, een penseelpatroon en -kleur, een lettertypetype, een knipgebied, enzovoort). Deze taken worden uitgevoerd door een apparaatcontext (DC) te maken en te onderhouden. Een DC is een structuur die een set grafische objecten en hun bijbehorende kenmerken definieert, evenals de grafische modi die van invloed zijn op de uitvoer. De grafische objecten bevatten een pen voor lijntekening, een penseel voor het schilderen en vullen, een bitmap voor het kopiƫren of schuiven van delen van het scherm, een palet voor het definiƫren van de set beschikbare kleuren, een gebied voor knipbewerkingen en andere bewerkingen, en een pad voor schilder- en tekenbewerkingen. In tegenstelling tot de meeste structuren heeft een toepassing nooit directe toegang tot de DC; In plaats daarvan werkt het indirect op de structuur door verschillende functies aan te roepen.

Dit overzicht bevat informatie over de volgende onderwerpen:

Een belangrijk concept is de indeling van een DC of een venster, waarin de volgorde wordt beschreven waarin GDI-objecten en tekst worden weergegeven (van links naar rechts of van rechts naar links). Zie 'Vensterindeling en spiegeling' in Vensterfuncties en de functies GetLayout en SetLayout voor meer informatie.