Udostępnij za pośrednictwem


Jak jest wykonywane drukowanie domyślne

W tym artykule wyjaśniono domyślny proces drukowania w systemie Windows pod względem struktury MFC.

W aplikacjach MFC klasa widoku ma funkcję składową o nazwie OnDraw , która zawiera cały kod rysunku. OnDraw przyjmuje wskaźnik do obiektu CDC jako parametru. Ten CDC obiekt reprezentuje kontekst urządzenia do odbierania obrazu wygenerowanego przez OnDrawprogram . Gdy okno wyświetlające dokument odbiera komunikat WM_PAINT, platforma wywołuje funkcję OnDraw i przekazuje mu kontekst urządzenia dla ekranu, dokładnie obiekt CPaintDC. W związku z tym dane wyjściowe OnDraw są wyświetlane na ekranie.

W programowaniu dla systemu Windows wysyłanie danych wyjściowych do drukarki jest bardzo podobne do wysyłania danych wyjściowych do ekranu. Dzieje się tak, ponieważ interfejs urządzenia graficznego systemu Windows (GDI) jest niezależny od sprzętu. Można użyć tych samych funkcji GDI do wyświetlania ekranu lub drukowania po prostu przy użyciu odpowiedniego kontekstu urządzenia. Jeśli obiekt odbierający CDC reprezentuje drukarkę, dane wyjściowe OnDraw trafiają do drukarki.

W tym artykule wyjaśniono, jak aplikacje MFC mogą wykonywać proste drukowanie bez konieczności dodatkowego nakładu pracy. Struktura zajmuje się wyświetlaniem okna dialogowego Drukowanie i tworzeniem kontekstu urządzenia dla drukarki. Gdy użytkownik wybierze polecenie Drukuj z menu Plik, widok przekazuje ten kontekst urządzenia do OnDrawelementu , który rysuje dokument na drukarce.

Istnieją jednak pewne istotne różnice między drukowaniem a ekranem. Podczas drukowania musisz podzielić dokument na różne strony i wyświetlić je pojedynczo, zamiast wyświetlać dowolną część widoczną w oknie. W rezultacie musisz pamiętać o rozmiarze papieru (niezależnie od tego, czy jest to rozmiar 'letter', rozmiar 'legal', czy koperta). Możesz wydrukować w różnych orientacjach, takich jak tryb poziomy lub pionowy. Biblioteka klas programu Microsoft Foundation nie może przewidzieć sposobu obsługi tych problemów przez aplikację, dlatego udostępnia protokół umożliwiający dodanie tych funkcji.

Ten protokół jest opisany w artykule Dokumenty wielostronicowe.

Zobacz także

drukowanie