Udostępnij za pośrednictwem


Architektura podglądu wydruku

W tym artykule wyjaśniono, jak MFC framework zawiera funkcję podglądu wydruku.Omówione tematy obejmują:

  • Proces podglądu wydruku

  • Modyfikowanie podglądu wydruku

Podgląd wydruku jest nieznacznie różnić się od ekranu, wyświetlania i drukowania, ponieważ zamiast bezpośrednio rysować obrazu na urządzeniu, aplikacja musi imitować drukarki przy użyciu ekranu.Aby to umożliwić, biblioteki Microsoft Foundation Class definiuje specjalne klasy (nieudokumentowane) pochodzące z Klasa CDCo nazwie CPreviewDC.Wszystkie CDC obiekty zawierają dwa konteksty urządzenia, ale zazwyczaj są one identyczne.W CPreviewDC obiektów, są one różne: pierwsza reprezentuje drukarki są symulowane, a drugi — ekran, na którym dane wyjściowe nie są wyświetlane.

Proces podglądu wydruku

Gdy użytkownik wybierze polecenie Podgląd wydruku z pliku tworzy ramach menu, CPreviewDC obiektu.W każdym przypadku, gdy aplikacja wykonuje operację, która ustawia charakterystyczne dla kontekstu urządzenia drukarki, ramach również wykonuje operację podobne na ekranie kontekstu urządzenia.Na przykład jeśli aplikacja wybiera czcionkę do druku, ramach wybiera czcionkę dla ekranu, które symuluje czcionka drukarki.W każdym przypadku, gdy aplikacja może wysłać dane wyjściowe do drukarki, ramach zamiast wysyła dane wyjściowe na ekranie.

Podgląd wydruku również różni się od drukowania w kolejności, że rysuje każdej strony dokumentu.Podczas drukowania, ramach nadal pętli wydruku aż zakres stron zostały wydane.Podczas podglądu wydruku jedną lub dwie strony są wyświetlane w dowolnym momencie, a następnie aplikacja oczekuje; Brak dalszych stron są wyświetlane, dopóki użytkownik nie wykona.W podglądzie wydruku aplikacji musi również odpowiadać na WM_PAINT wiadomości, podobnie jak w trakcie zwykłych ekranu.

CView::OnPreparePrinting Funkcja jest wywoływana tryb podglądu jest wywoływana, tak jak to jest na początku zadania drukowania.Struktura CPrintInfo Struktura przekazanych do funkcji zawiera kilku członków, których wartości można ustawić, aby dopasować niektórych parametrów operacji podglądu wydruku.Na przykład, można ustawić m_nNumPreviewPages członkowski, aby określić, czy użytkownik chce wyświetlić podgląd dokumentu w trybie jednej strony lub dwóch stron.

Modyfikowanie podglądu wydruku

Dość łatwo można zmodyfikować zachowanie i wygląd podglądu wydruku na wiele sposobów.Na przykład możesz, między innymi:

  • Spowodować oknie podglądu wydruku wyświetlić pasek przewijania ułatwia dostęp do każdej strony dokumentu.

  • Przyczyna Podgląd wydruku do utrzymania pozycji użytkownika w dokumencie przez rozpoczęciem jego wyświetlania w bieżącej strony.

  • Powodować różne inicjowania ma być wykonana nad podglądu wydruku i drukowania.

  • Przyczyna Podgląd wydruku, aby wyświetlić numery stron w własnych formatów.

Jeśli wiesz, jak długo jest dokument i wywołać SetMaxPage na odpowiednią wartość ramach informacji tych można używać w trybie podglądu, a także podczas drukowania.Po ramach wie długość dokumentu, to może dostarczyć okno podglądu scroll bar, pozwalając użytkownikowi na stronie i z powrotem w dokumencie w trybie podglądu.Jeśli jeszcze nie ustawić długość dokumentu, ramach nie może umieścić suwak przewijania, aby wskazać bieżącą pozycję, dzięki czemu w ramach nie powoduje dodania paska przewijania.W takim przypadku użytkownik musi użyć z przycisków Poprzednia strona i Następna strona na pasku sterowania oknem podglądu do strony w dokumencie.

Podgląd wydruku, użytkownik może być przydatne do przypisania wartości do m_nCurPage członek CPrintInfo, mimo że nigdy nie sposób tak jak zwykłych drukowania.Podczas drukowania zwykły ten element członkowski przenosi informacje z ram do swojej klasy widoku.Jest to jak ramach mówi widoku, która strona ma być drukowana.

Wyjątkiem jest sytuacja, kiedy tryb podglądu wydruku jest uruchomiona, m_nCurPage Członkowskich przenosi informacje w przeciwnym kierunku: z widoku do RAM.Ramach używa wartość tego członka, aby ustalić, którą stronę należy wyświetlić podglądu po raz pierwszy.Wartość domyślna to element członkowski jest 1, więc pierwsza strona dokumentu jest początkowo wyświetlany.Można zastąpić OnPreparePrinting Aby ustawić ten element członkowski do numeru strony wyświetlany w czasie wywołano polecenie Podgląd wydruku.W ten sposób aplikacji przechowuje bieżącą pozycję użytkownika przy przechodzeniu do trybu podglądu wydruku zwykłego trybu wyświetlania.

Czasami konieczne jest OnPreparePrinting do wykonywania różnych inicjowania w zależności od tego, czy zostanie wywołany dla zadania drukowania lub podglądu wydruku.Użytkownik może określić, sprawdzając m_bPreview zmienną w CPrintInfo struktury.Ten element członkowski jest ustawiona na TRUE podczas podglądu wydruku jest wywoływany.

CPrintInfo Struktura również zawiera element o nazwie m_strPageDesc, który jest używany do formatowania ciągi wyświetlane u dołu ekranu w trybie jednej strony i wielu stron.Domyślnie te ciągi mają postać "strona n" i "stron n - m, "ale można zmodyfikować m_strPageDesc w programie OnPreparePrinting i ustawić ciągi na coś bardziej skomplikowane.Zobacz Struktura CPrintInfo w Odwołanie MFC uzyskać więcej informacji.

Zobacz też

Informacje

Drukowanie i podgląd wydruku

Drukowanie

Klasa CView

Klasa CDC