Udostępnij za pośrednictwem


Klasa CPrintDialogEx

Hermetyzuje usługi udostępniane przez arkusz właściwości Windows Print.

Składnia

class CPrintDialogEx : public CCommonDialog

Członkowie

Konstruktory publiczne

Nazwa/nazwisko opis
CPrintDialogEx::CPrintDialogEx CPrintDialogEx Tworzy obiekt.

Metody publiczne

Nazwa/nazwisko opis
CPrintDialogEx::CreatePrinterDC Tworzy kontekst urządzenia drukarki bez wyświetlania okna dialogowego Drukowanie.
CPrintDialogEx::D oModal Wyświetla okno dialogowe i umożliwia użytkownikowi dokonanie wyboru.
CPrintDialogEx::GetCopies Pobiera żądaną liczbę kopii.
CPrintDialogEx::GetDefaults Pobiera wartości domyślne urządzenia bez wyświetlania okna dialogowego.
CPrintDialogEx::GetDeviceName Pobiera nazwę aktualnie wybranego urządzenia drukarki.
CPrintDialogEx::GetDevMode DEVMODE Pobiera strukturę.
CPrintDialogEx::GetDriverName Pobiera nazwę sterownika urządzenia drukarki zdefiniowanej przez system.
CPrintDialogEx::GetPortName Pobiera nazwę aktualnie wybranego portu drukarki.
CPrintDialogEx::GetPrinterDC Pobiera uchwyt do kontekstu urządzenia drukarki.
CPrintDialogEx::P rintAll Określa, czy mają być drukowane wszystkie strony dokumentu.
CPrintDialogEx::P rintCollate Określa, czy są żądane sortowanie kopii.
CPrintDialogEx::P rintCurrentPage Określa, czy ma być drukowana bieżąca strona dokumentu.
CPrintDialogEx::P rintRange Określa, czy wyświetlać tylko określony zakres stron.
CPrintDialogEx::P rintSelection Określa, czy mają być drukowane tylko aktualnie wybrane elementy.

Publiczne elementy członkowskie danych

Nazwa/nazwisko opis
CPrintDialogEx::m_pdex Struktura używana do dostosowywania CPrintDialogEx obiektu.

Uwagi

Możesz polegać na strukturze do obsługi wielu aspektów procesu drukowania dla aplikacji. Aby uzyskać więcej informacji na temat używania platformy do obsługi zadań drukowania, zobacz artykuł Drukowanie.

Jeśli chcesz, aby aplikacja obsługiwała drukowanie bez udziału platformy, możesz użyć CPrintDialogEx klasy "as is" z podanym konstruktorem lub utworzyć własną klasę okna dialogowego z CPrintDialogEx klasy i napisać konstruktor zgodnie z potrzebami. W obu przypadkach te okna dialogowe będą zachowywać się jak standardowe okna dialogowe MFC, ponieważ pochodzą one z klasy CCommonDialog.

Aby użyć CPrintDialogEx obiektu, najpierw utwórz obiekt przy użyciu konstruktora CPrintDialogEx . Po utworzeniu okna dialogowego można ustawić lub zmodyfikować dowolne wartości w strukturze m_pdex, aby zainicjować wartości kontrolek okna dialogowego. Struktura m_pdex jest typu PRINTDLGEX. Aby uzyskać więcej informacji na temat tej struktury, zobacz Zestaw WINDOWS SDK.

Jeśli nie podasz własnych uchwytów m_pdex dla elementów hDevMode członkowskich i hDevNames , pamiętaj, aby wywołać funkcję GlobalFree systemu Windows dla tych dojść po zakończeniu pracy z okna dialogowego.

Po zainicjowaniu kontrolek okna dialogowego wywołaj DoModal funkcję składową, aby wyświetlić okno dialogowe i zezwolić użytkownikowi na wybieranie opcji drukowania. Po DoModal powrocie możesz określić, czy użytkownik wybrał przycisk OK, Zastosuj lub Anuluj.

Jeśli użytkownik nacisnął przycisk OK, możesz użyć CPrintDialogExfunkcji członkowskich, aby pobrać informacje wejściowe przez użytkownika.

Funkcja CPrintDialogEx::GetDefaults składowa jest przydatna do pobierania bieżących ustawień domyślnych drukarki bez wyświetlania okna dialogowego. Ta metoda nie wymaga interakcji użytkownika.

Za pomocą funkcji systemu Windows CommDlgExtendedError można określić, czy wystąpił błąd podczas inicjowania okna dialogowego i dowiedzieć się więcej o błędzie. Aby uzyskać więcej informacji na temat tej funkcji, zobacz Zestaw Windows SDK.

Aby uzyskać więcej informacji na temat korzystania z programu CPrintDialogEx, zobacz Typowe klasy okien dialogowych.

Hierarchia dziedziczenia

Cobject

Ccmdtarget

Cwnd

Cdialog

IObjectWithSite

IPrintDialogCallback

CCommonDialog

CPrintDialogEx

Wymagania

Nagłówek: afxdlgs.h

CPrintDialogEx::CPrintDialogEx

Tworzy arkusz właściwości Windows Print.

CPrintDialogEx(
    DWORD dwFlags = PD_ALLPAGES | PD_USEDEVMODECOPIES | PD_NOPAGENUMS       | PD_HIDEPRINTTOFILE | PD_NOSELECTION | PD_NOCURRENTPAGE,
    CWnd* pParentWnd = NULL);

Parametry

Dwflags
Co najmniej jedna flaga, której można użyć do dostosowania ustawień okna dialogowego, połączonego za pomocą operatora bitowego OR. Na przykład flaga PD_ALLPAGES ustawia domyślny zakres wydruku na wszystkie strony dokumentu. Aby uzyskać więcej informacji na temat tych flag, zobacz strukturę PRINTDLGEX w zestawie WINDOWS SDK.

pParentWnd
Wskaźnik do okna nadrzędnego lub okna właściciela okna dialogowego.

Uwagi

Ta funkcja składowa konstruuje tylko obiekt . Użyj funkcji składowej DoModal , aby wyświetlić okno dialogowe.

CPrintDialogEx::CreatePrinterDC

Tworzy kontekst urządzenia drukarki (DC) ze struktur DEVMODE i DEVNAMES .

HDC CreatePrinterDC();

Wartość zwracana

Dojmij do nowo utworzonego kontekstu urządzenia drukarki.

Uwagi

Zwrócony kontroler domeny jest również przechowywany w elemencie hDCczłonkowskim m_pdex.

Ten kontroler domeny przyjmuje się, że jest bieżącym kontrolerem domeny drukarki, a wszystkie inne wcześniej uzyskane kontrolery domeny drukarki muszą zostać usunięte. Tę funkcję można wywołać, a wynikowy kontroler domeny jest używany bez wyświetlania okna dialogowego Drukowanie.

CPrintDialogEx::D oModal

Wywołaj tę funkcję, aby wyświetlić arkusz właściwości Windows Print i zezwolić użytkownikowi na wybieranie różnych opcji drukowania, takich jak liczba kopii, zakres stron i czy kopie powinny być sortowane.

virtual INT_PTR DoModal();

Wartość zwracana

Wartość zwracana INT_PTR jest rzeczywiście wartością HRESULT. Zobacz sekcję Zwracane wartości w elem. PrintDlgEx w zestawie Windows SDK.

Uwagi

Jeśli chcesz zainicjować różne opcje okna dialogowego drukowania, ustawiając elementy członkowskie m_pdex struktury, należy to zrobić przed wywołaniem DoModalmetody , ale po utworzeniu obiektu okna dialogowego.

Po wywołaniu DoModalmetody można wywołać inne funkcje członkowskie, aby pobrać ustawienia lub informacje wejściowe przez użytkownika w oknie dialogowym.

Jeśli flaga PD_RETURNDC jest używana podczas wywoływania DoModal, kontroler domeny drukarki zostanie zwrócony w elemencie hDC członkowskim m_pdex. Ten kontroler domeny musi zostać zwolniony za pomocą wywołania funkcji DeleteDC przez obiekt wywołujący .CPrintDialogEx

CPrintDialogEx::GetCopies

Wywołaj tę funkcję po wywołaniu metody DoModal , aby pobrać żądaną liczbę kopii.

int GetCopies() const;

Wartość zwracana

Liczba żądanych kopii.

CPrintDialogEx::GetDefaults

Wywołaj tę funkcję, aby pobrać ustawienia domyślne drukarki domyślnej urządzenia bez wyświetlania okna dialogowego.

BOOL GetDefaults();

Wartość zwracana

Wartość TRUE, jeśli powiedzie się, w przeciwnym razie wartość FALSE.

Uwagi

Tworzy kontekst urządzenia drukarki (DC) ze struktur DEVMODE i DEVNAMES .

GetDefaults nie wyświetla arkusza właściwości Drukuj. Zamiast tego ustawia hDevNames elementy i hDevMode m_pdex do obsługi struktur DEVMODE i DEVNAMES, które są inicjowane dla domyślnej drukarki systemu. Obie hDevNames wartości i hDevMode muszą mieć wartość NULL lub GetDefaults kończą się niepowodzeniem.

Jeśli flaga PD_RETURNDC jest ustawiona, ta funkcja nie tylko zwróci hDevNames element i hDevMode (znajdujący się w m_pdex.hDevNames i m_pdex.hDevMode) do elementu wywołującego, ale również zwróci kontroler domeny drukarki w systemie m_pdex.hDC. Obowiązkiem obiektu wywołującego jest usunięcie kontrolera domeny drukarki i wywołanie funkcji GlobalFree systemu Windows na uchwytach po zakończeniu pracy z obiektemCPrintDialogEx.

CPrintDialogEx::GetDeviceName

Wywołaj tę funkcję po wywołaniu metody DoModal , aby pobrać nazwę aktualnie wybranej drukarki lub po wywołaniu metody GetDefaults w celu pobrania nazwy drukarki domyślnej.

CString GetDeviceName() const;

Wartość zwracana

Nazwa aktualnie wybranej drukarki.

Uwagi

Użyj wskaźnika do CString obiektu zwróconego przez GetDeviceName jako wartość lpszDeviceName wywołania do usługi CDC::CreateDC.

CPrintDialogEx::GetDevMode

Wywołaj tę funkcję po wywołaniu metody DoModal lub GetDefaults , aby pobrać informacje o urządzeniu do drukowania.

LPDEVMODE GetDevMode() const;

Wartość zwracana

Struktura danych DEVMODE , która zawiera informacje o inicjowaniu urządzenia i środowisku sterownika wydruku. Należy odblokować pamięć pobraną przez tę strukturę za pomocą funkcji GlobalUnlock systemu Windows, która została opisana w zestawie Windows SDK.

CPrintDialogEx::GetDriverName

Wywołaj tę funkcję po wywołaniu metody DoModal lub GetDefaults , aby pobrać nazwę sterownika urządzenia drukarki zdefiniowanej przez system.

CString GetDriverName() const;

Wartość zwracana

Określenie CString nazwy sterownika zdefiniowanego przez system.

Uwagi

Użyj wskaźnika do CString obiektu zwróconego przez GetDriverName element jako wartości lpszDriverName w wywołaniu polecenia CDC::CreateDC.

CPrintDialogEx::GetPortName

Wywołaj tę funkcję po wywołaniu metody DoModal lub GetDefaults , aby pobrać nazwę aktualnie wybranego portu drukarki.

CString GetPortName() const;

Wartość zwracana

Nazwa aktualnie wybranego portu drukarki.

CPrintDialogEx::GetPrinterDC

Zwraca uchwyt do kontekstu urządzenia drukarki.

HDC GetPrinterDC() const;

Wartość zwracana

Uchwyt do kontekstu urządzenia drukarki.

Uwagi

Należy wywołać funkcję Windows DeleteDC , aby usunąć kontekst urządzenia po zakończeniu korzystania z niego.

CPrintDialogEx::m_pdex

Struktura PRINTDLGEX, której składowe przechowują cechy obiektu okna dialogowego.

PRINTDLGEX m_pdex;

Uwagi

Po utworzeniu CPrintDialogEx obiektu można użyć m_pdex polecenia , aby ustawić różne aspekty okna dialogowego przed wywołaniem funkcji składowej DoModal . Aby uzyskać więcej informacji na m_pdex temat struktury, zobacz PRINTDLGEX w zestawie Windows SDK.

Jeśli bezpośrednio zmodyfikujesz element członkowski m_pdex danych, zastąpisz wszelkie domyślne zachowanie.

CPrintDialogEx::P rintAll

Wywołaj tę funkcję po wywołaniu metody DoModal , aby określić, czy wydrukować wszystkie strony w dokumencie.

BOOL PrintAll() const;

Wartość zwracana

WARTOŚĆ TRUE, jeśli wszystkie strony w dokumencie mają być drukowane; w przeciwnym razie FAŁSZ.

CPrintDialogEx::P rintCollate

Wywołaj tę funkcję po wywołaniu metody , DoModal aby określić, czy drukarka powinna sortować wszystkie drukowane kopie dokumentu.

BOOL PrintCollate() const;

Wartość zwracana

WARTOŚĆ TRUE, jeśli użytkownik wybiera pole wyboru sortowania w oknie dialogowym; w przeciwnym razie FAŁSZ.

CPrintDialogEx::P rintCurrentPage

Wywołaj tę funkcję po wywołaniu metody DoModal , aby określić, czy ma być drukowana bieżąca strona w dokumencie.

BOOL PrintCurrentPage() const;

Wartość zwracana

Wartość TRUE, jeśli w oknie dialogowym drukowania wybrano opcję Drukuj bieżącą stronę ; w przeciwnym razie wartość FALSE.

CPrintDialogEx::P rintRange

Wywołaj tę funkcję po wywołaniu metody DoModal , aby określić, czy wydrukować tylko zakres stron w dokumencie.

BOOL PrintRange() const;

Wartość zwracana

WARTOŚĆ TRUE, jeśli ma zostać wydrukowany tylko zakres stron w dokumencie; w przeciwnym razie FAŁSZ.

Uwagi

Określone zakresy stron można określić na podstawie m_pdex (zobacz nPageRanges, nMaxPageRangesi lpPageRanges w strukturze PRINTDLGEX w zestawie WINDOWS SDK).

CPrintDialogEx::P rintSelection

Wywołaj tę funkcję po wywołaniu metody DoModal , aby określić, czy wydrukować tylko aktualnie wybrane elementy.

BOOL PrintSelection() const;

Wartość zwracana

WARTOŚĆ TRUE, jeśli mają być drukowane tylko wybrane elementy; w przeciwnym razie FAŁSZ.

Zobacz też

Klasa CCommonDialog
Wykres hierarchii
Klasa CPrintInfo