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 OnDraw go i przekazuje kontekst urządzenia dla ekranu ( obiekt CPaintDC , który ma być określony). W związku z tym OnDrawdane 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ę, OnDrawdane 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 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. 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.

Zobacz też

Drukowanie