Udostępnij za pośrednictwem


Alokowanie zasobów GDI

W tym artykule wyjaśniono, jak przydzielić i zwolnić obiekty interfejsu (GDI) urządzenia grafika systemu Windows potrzebne do drukowania.

[!UWAGA]

GDI + jest dołączony do systemu Windows XP i jest dostępny jako pakiet redystrybucyjny dla systemu Windows NT 4.0 z dodatkiem SP6, Windows 2000, Windows 98 i Windows Me.Aby pobrać najnowsze pakietu redystrybucyjnego, zobacz https://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdkredist.htm.Aby uzyskać więcej informacji, zobacz dokumentację zestawu SDK interfejsu GDI + w bibliotece MSDN: https://msdn.microsoft.com/library/default.asp?url=/ library/en-us/gdicpp/GDIPlus/GDIPlus.asp.

Załóżmy, że konieczne jest użycie niektórych czcionek, piór lub inne obiekty GDI do druku, ale nie do wyświetlania na ekranie.Ze względu na pamięć, których potrzebują jest nieefektywne przydzielić tych obiektów podczas uruchamiania aplikacji.Podczas stosowania nie jest drukowania dokumentu, że pamięć może być niezbędna do innych celów.To lepiej je przydzielić, gdy rozpocznie się drukowanie, a następnie usuń je podczas drukowania kończy się.

Aby przydzielić tych obiektów GDI, należy zastąpić OnBeginPrinting funkcji składowej.Ta funkcja jest dobrze nadaje się do tego celu z dwóch powodów: ramach wywołuje tę funkcję po raz na początku każdego wydruku i w przeciwieństwie do OnPreparePrinting, funkcja ta ma dostęp do CDC obiekt reprezentujący sterownik drukarki.Podczas wykonywania zadania drukowania można przechowywać tych obiektów używanych przez definiowanie zmienne składowe w klasie widoku odsyłających do obiektów interfejsu GDI (na przykład CFont * członków i tak dalej).

Aby użyć utworzonych obiektów GDI, zaznacz je do kontekstu urządzenia drukarki w OnPrint funkcji składowej.Jeśli potrzebujesz różnych obiektów GDI dla różnych stron dokumentu, można sprawdzić m_nCurPage członek CPrintInfo struktury i odpowiednio zaznacz obiekt interfejsu GDI.Jeśli potrzebujesz obiektów GDI dla kilku kolejnych stron, system Windows wymaga wybrania go do kontekstu urządzenia każdorazowo OnPrint nazywa się.

Aby cofnąć te obiekty GDI, należy zastąpić OnEndPrinting funkcji składowej.Ramach wywołania tej funkcji na końcu każdego wydruku, dając Ci możliwość deallocate Obiekty GDI specyficzne dla drukowania, zanim aplikacja zwraca się do innych zadań.

Zobacz też

Informacje

Drukowanie

Jak jest wykonywane drukowanie domyślne