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 OnDraw
program . Gdy okno wyświetlające dokument odbiera komunikat WM_PAINT , platforma wywołuje OnDraw
go i przekazuje kontekst urządzenia dla ekranu ( obiekt CPaintDC , który ma być określony). W związku z tym OnDraw
dane wyjściowe 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. CDC
Jeśli obiekt odbierający OnDraw
reprezentuje drukarkę, OnDraw
dane wyjściowe są wyświetlane na drukarce.
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 OnDraw
elementu , 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. Jako korona musisz pamiętać o rozmiarze papieru (niezależnie od tego, czy jest to rozmiar litery, rozmiar prawny, 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.