Udostępnij za pośrednictwem


Przydzielanie zasobów GDI

W tym artykule wyjaśniono, jak przydzielić i cofnąć przydział obiektów interfejsu graficznego (GDI) systemu Windows wymaganych do drukowania.

Uwaga / Notatka

Aby uzyskać więcej informacji, zobacz dokumentację zestawu GDI+ SDK.

Załóżmy, że do drukowania należy używać niektórych czcionek, piór lub innych obiektów GDI, ale nie do wyświetlania ekranu. Ze względu na wymaganą pamięć nieefektywne jest przydzielanie tych obiektów podczas uruchamiania aplikacji. Gdy aplikacja nie drukuje dokumentu, ta pamięć może być potrzebna do innych celów. Lepiej przydzielić je po rozpoczęciu drukowania, a następnie usunąć je po zakończeniu drukowania.

Aby przydzielić te obiekty GDI, przesłoń funkcję składową OnBeginPrinting . Ta funkcja jest odpowiednia do tego celu z dwóch powodów: struktura wywołuje tę funkcję raz na początku każdego zadania drukowania i, w przeciwieństwie do onPreparePrinting, ta funkcja ma dostęp do obiektu CDC reprezentującego sterownik urządzenia drukarki. Te obiekty można przechowywać do wykorzystania podczas zadania drukowania, definiując w klasie widoku zmienne składowe, które wskazują na obiekty GDI (na przykład CFont * członkowie i tak dalej).

Aby użyć utworzonych obiektów GDI, wybierz je w kontekście urządzenia drukarki w funkcji składowej OnPrint . Jeśli potrzebujesz różnych obiektów GDI dla różnych stron dokumentu, możesz sprawdzić m_nCurPage składową struktury CPrintInfo i wybrać odpowiednio obiekt GDI. Jeśli potrzebujesz obiektu GDI dla kilku kolejnych stron, system Windows wymaga wybrania go w kontekście urządzenia za każdym razem, gdy OnPrint jest wywoływany.

Aby cofnąć przydział tych obiektów GDI, przesłoń funkcję składową OnEndPrinting . Platforma wywołuje tę funkcję na końcu każdego zadania drukowania, co daje możliwość cofnięcia przydziału obiektów GDI specyficznych dla drukowania, zanim aplikacja powróci do innych zadań.

Zobacz także

drukowanie
Jak jest wykonywane drukowanie domyślne