Klasa CPrintDialogEx
Hermetyzuje usługi udostępniane przez arkusz właściwości Windows Print.
Składnia
class CPrintDialogEx : public CCommonDialog
Elementy członkowskie
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ć CPrintDialogEx
funkcji 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
IObjectWithSite
IPrintDialogCallback
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 hDC
czł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 DoModal
metody , ale po utworzeniu obiektu okna dialogowego.
Po wywołaniu DoModal
metody 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
, nMaxPageRanges
i 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.