Hoe standaard afdrukken wordt uitgevoerd

Opmerking

De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

In dit artikel wordt het standaardafdrukproces in Windows uitgelegd in termen van het MFC-framework.

In MFC-toepassingen heeft de weergaveklasse een lidfunctie met de naam OnDraw die alle tekencode bevat. OnDraw verwijst naar een CDC-object als parameter. Dat CDC object vertegenwoordigt de apparaatcontext om het beeld te ontvangen dat is geproduceerd door OnDraw. Wanneer het venster waarin het document wordt weergegeven een WM_PAINT bericht ontvangt, roept het framework OnDraw aan en geeft het een apparaatcontext voor het scherm door (specifiek een CPaintDC-object). De uitvoer van OnDraw gaat dienovereenkomstig naar het scherm.

Bij het programmeren van Windows is het verzenden van uitvoer naar de printer vergelijkbaar met het verzenden van uitvoer naar het scherm. Dit komt doordat de Windows Graphics Device Interface (GDI) hardware-onafhankelijk is. U kunt dezelfde GDI-functies gebruiken voor schermweergave of voor afdrukken met behulp van de juiste apparaatcontext. Als het CDC object dat OnDraw ontvangt de printer vertegenwoordigt, dan gaat de uitvoer van OnDraw naar de printer.

Dit verklaart hoe MFC-toepassingen eenvoudige afdrukken kunnen uitvoeren zonder dat u extra moeite hoeft te doen. Het framework zorgt voor het weergeven van het dialoogvenster Afdrukken en het maken van een apparaatcontext voor de printer. Wanneer de gebruiker de opdracht Afdrukken selecteert in het menu Bestand, geeft de weergave deze apparaatcontext door aan OnDraw, waarmee het document op de printer wordt getekend.

Er zijn echter enkele belangrijke verschillen tussen afdrukken en schermweergave. Wanneer u afdrukt, moet u het document opsplitsen in afzonderlijke pagina's en ze één voor één weergeven in plaats van het gedeelte weer te geven dat zichtbaar is in een venster. Als bijschrift moet u rekening houden met het formaat van het papier (of het nu gaat om letterformaat, juridisch formaat of een envelop). Mogelijk wilt u afdrukken in verschillende richtingen, zoals de liggende of staande modus. De Microsoft Foundation Class Library kan niet voorspellen hoe uw toepassing deze problemen zal afhandelen, dus het biedt een protocol waarmee u deze mogelijkheden kunt toevoegen.

Dat protocol wordt beschreven in het artikel Multipage Documents.

Zie ook

Afdrukken