PRINTDLGEX

[To wstępne dokumentacji oraz z zastrzeżeniem zmiany.]

Struktura PRINTDLGEX zawiera informacje, że funkcja PrintDlgEx używa do zainicjowania arkusz właściwości drukowania . Po zamknięciu arkusza właściwości użytkownika, system używa tej struktury zwraca informacje na temat użytkownika zaznaczeń.

element TypeDef struct tagPDEX {}
    DWORD lStructSize;
    HWND hwndOwner;
    HGLOBAL pole hDevMode;
    HGLOBAL hDevNames;
    HDC hDC;
    DWORD Znaczników;
    DWORD Flags2;
    DWORD ExclusionFlags;
    DWORD nPageRanges;
    DWORD nMaxPageRanges;
    LPPRINTPAGERANGE lpPageRanges;
    DWORD nMinPage;
    DWORD nMaxPage;
    DWORD nCopies;
    Wystąpienie HINSTANCE wystąpienie hInstance;
    LPCTSTR lpPrintTemplateName;
    LPUNKNOWN lpCallback;
    DWORD nPropertyPages;
    HPROPSHEETPAGE * lphPropertyPages;
    DWORD nStartPage;
    DWORD dwResultAction;
} PRINTDLGEX, * LPPRINTDLGEX 

Członkowie

lStructSize
Określa w bajtach rozmiar struktury.
hwndOwner
Dojście do okna, który jest właścicielem arkusz właściwości. Ten element musi być uchwyt okna prawidłowe; nie może być NULL.
pole hDevMode
Dojście do obiektu ruchomego globalnej pamięci, który zawiera struktury DEVMODE . Jeśli pole hDevMode nie ma wartości NULL na wejściu, należy przydzielić ruchome blok pamięci dla struktury DEVMODE i zainicjować swoich członków. Funkcja PrintDlgEx używa inicjowanie wejściowy datato formantów w arkuszu właściwości. Gdy PrintDlgEx zwraca, członkowie DEVMODE wskazać użytkownika.

Jeśli pole hDevMode ma wartość NULL na wejściu, PrintDlgEx przydzielanie pamięci dla struktury DEVMODE , inicjuje swoich członków, aby wskazać dane wejściowe użytkownika i zwraca uchwyt, który identyfikuje on.

Aby uzyskać więcej informacji o członkach pole hDevMode i hDevNames zobacz sekcję Spostrzeżenia na końcu tego tematu.

hDevNames
Dojście do obiektu ruchomego globalnej pamięci, który zawiera strukturę DEVNAMES. . Jeśli hDevNames nie ma wartości NULL na wejściu, należy przydzielić ruchome blok pamięci dla struktury DEVNAMES i zainicjować swoich członków. Funkcja PrintDlgEx używa inicjowanie wejściowy datato formantów w arkuszu właściwości. Gdy PrintDlgEx zwraca, członkowie DEVNAMES zawierają informacje dla drukarki, wybranego przez użytkownika. Informacje te można używać do tworzenia kontekstu urządzenia lub kontekście informacji.

Element hDevNames może być NULL, z w takim przypadku, PrintDlgEx przydzielanie pamięci dla struktury DEVNAMES. , inicjuje wejściowych swoich członków, aby określić użytkownika, i zwraca uchwyt identyfikująca to.

Aby uzyskać więcej informacji o członkach pole hDevMode i hDevNames zobacz sekcję Spostrzeżenia na końcu tego tematu.

hDC
Dojście do kontekstu urządzenia lub kontekście informacji, w zależności od tego, czy Państwa flagi określa flagi PD_RETURNDC lub PC_RETURNIC. Jeżeli ani flaga jest określony, wartość tego członka jest niezdefiniowane. Jeśli podano zarówno flagi PD_RETURNDC ma priorytet.
Flagi
Zestaw flag bitowych, które można zainicjować arkusz właściwości drukowania . Kiedy funkcja PrintDlgEx zwraca, ustawia te flagi, aby wskazać dane wejściowe użytkownika. Ten element może być kombinacją następujących flag.
PD_ALLPAGES
Flagę domyślną, która wskazuje, że początkowo zaznaczono wszystkie przycisk radiowy. Ta flaga jest używana jako symbol zastępczy do wskazania, że nie określono flagi PD_PAGENUMS, PD_SELECTION i PD_CURRENTPAGE.
PD_COLLATE
Jeśli ta flaga będzie ustawiona, zaznaczone jest pole wyboru Sortuj.

Jeśli ta flaga będzie ustawiona, gdy funkcja PrintDlgEx zwraca, aplikacja musi symulować sortowania wielu kopii. Aby uzyskać więcej informacji zobacz opis flagi PD_USEDEVMODECOPIESANDCOLLATE.

PD_CURRENTPAGE
Jeśli ta flaga będzie ustawiona, Bieżąca strona przycisk opcji jest zaznaczony. Jeśli żaden z flag PD_PAGENUMS, PD_SELECTION lub PD_CURRENTPAGE nie jest ustawiona, wszystkie przycisk opcji jest zaznaczony.
PD_DISABLEPRINTTOFILE
Wyłącza pole wyboru Drukuj do pliku.
PD_ENABLEPRINTTEMPLATE
Wskazuje, że wystąpienie hInstance i lpPrintTemplateName członków określić zastąpić domyślny szablon pole dialogowe w dolnej części strony Ogólne . Domyślny szablon zawiera formanty podobne do okna dialogowego Drukuj . System używa określonego szablonu do utworzenia okno, w którym 's child stronie Ogólne.
PD_ENABLEPRINTTEMPLATEHANDLE
Wskazuje, że wystąpienie hInstance Członkowskich identyfikuje bloku danych, zawierający szablon pole dialogowe wstępnie. Szablon ten zastępuje domyślny szablon pole dialogowe w dolnej części strony Ogólne . System używa określonego szablonu do utworzenia okno, w którym jest elementem podrzędnym Ogólne strony. System ignoruje Państwa lpPrintTemplateName , jeśli ta flaga jest określona.
PD_EXCLUSIONFLAGS
Wskazuje, że element ExclusionFlags identyfikuje elementy mają być wyłączone ze strony właściwości sterownika drukarki. Jeśli ta flaga nie jest ustawiona, elementy zostaną wykluczone domyślnie ze strony właściwości sterownika drukarki. Wyłączenia zapobiec duplikacji elementy między strony Ogólne , określonej aplikacji stron i stron sterownika drukarki.
PD_HIDEPRINTTOFILE
Ukrywa pole wyboru Drukuj do pliku.
PD_NOCURRENTPAGE
Wyłącza przycisk radiowy Bieżącej strony.
PD_NOPAGENUMS
Wyłącza przycisk radiowy stron i formantach edycyjnych skojarzone.
PD_NOSELECTION
Wyłącza przycisk radiowy zaznaczenia.
PD_NOWARNING
Zapobiega komunikat ostrzegawczy jest wyświetlany, gdy wystąpi błąd.
PD_PAGENUMS
Jeśli ta flaga będzie ustawiona, strony przycisk opcji jest zaznaczony. Jeśli żaden z flag PD_PAGENUMS, PD_SELECTION lub PD_CURRENTPAGE nie jest ustawiona, wszystkie przycisk opcji jest zaznaczony.

Jeśli ta flaga będzie ustawiona, gdy funkcja PrintDlgEx zwraca, członek lpPageRanges wskazuje zakresów stron, określony przez użytkownika.

PD_PRINTTOFILE
Jeśli ta flaga będzie ustawiona, zaznaczone jest pole wyboru Drukuj do pliku.

Jeśli ta flaga będzie ustawiona, gdy PrintDlgEx zwraca, przesunięcie wskazanych przez członka wOutputOffset struktury DEVNAMES zawiera ciąg „plik: ". Podczas wywołania funkcję StartDoc , aby uruchomić operację drukowania, określić to "pliku:" ciąg członka lpszOutput DOCINFO struktury. Określanie ten ciąg powoduje podsystemu drukowania do kwerendy użytkownika o nazwę pliku wyjściowego.

PD_RETURNDC
Powoduje, że PrintDlgEx do zwrotu kontekstu urządzenia dopasowywania zaznaczenia przez użytkownika w arkuszu właściwości. Kontekstu urządzenia jest zwracany w hDC.
PD_RETURNDEFAULT
Jeśli ta flaga będzie ustawiona, funkcja PrintDlgEx nie wyświetlić arkusz właściwości. Zamiast tego, ustawia członków hDevNames i pole hDevMode dla dojścia do struktury DEVMODE i DEVNAMES , które są inicjowane drukarki domyślnej systemu. Zarówno hDevNames , jak i pole hDevMode musi mieć wartość NULL, lub PrintDlgEx zwraca błąd.
PD_RETURNIC
Podobna do flagi PD_RETURNDC, z wyjątkiem tej flagi zwraca kontekście informacji, zamiast kontekstu urządzenia. Jeżeli określono wartość PD_RETURNDC ani PD_RETURNIC, hDC jest niezdefiniowana na wyjściu.
PD_SELECTION
Jeśli ta flaga będzie ustawiona, zaznaczono przycisk radiowy zaznaczenia.

Jeśli żaden z flag PD_PAGENUMS, PD_SELECTION lub PD_CURRENTPAGE nie jest ustawiona, wszystkie przycisk opcji jest zaznaczony.

PD_USEDEVMODECOPIES
Takie same jak PD_USEDEVMODECOPIESANDCOLLATE
PD_USEDEVMODECOPIESANDCOLLATE
Ta flaga wskazuje, czy aplikacja obsługuje wiele kopii i sortowania. Ustawienie tej flagi na wejściu do wskazania, że aplikacja nie obsługuje wielu kopii i sortowania. W takim przypadku członek nCopies struktury PRINTDLGEX zawsze zwraca wartość 1, a PD_COLLATE nigdy nie jest ustawiona w elemencie flagi.

Jeśli ta flaga nie jest ustawiona, aplikacja jest odpowiedzialny za drukowanie i porównywanie wielu kopii. W takim przypadku członek nCopies struktury PRINTDLGEX wskazuje liczbę kopii, które użytkownik chce wydrukować, a flaga PD_COLLATE Członkowskich flagi wskazuje, czy użytkownik chce sortowania.

Niezależnie od tego, czy ta flaga będzie ustawiona aplikacji można określić z nCopies i PD_COLLATE, jak wiele kopii do renderowania oraz czy należy je wydrukować sortowane.

Jeśli ta flaga będzie ustawiona, sterownik drukarki nie obsługuje wielu kopii, formant edycji kopii jest wyłączona. Podobnie jeśli ta flaga będzie ustawiona, sterownik drukarki nie obsługuje sortowania, pole wyboru Sortuj jest wyłączona.

Członkowie dmCopies i dmCollate struktury DEVMODE zawierają kopie i gromadzi informacje wykorzystywane przez sterownik drukarki. Jeśli ta flaga będzie ustawiona, sterownik drukarki obsługuje wiele kopii, członek dmCopies wskazuje liczbę kopii, wymagane przez użytkownika. Jeśli ta flaga będzie ustawiona, sterownik drukarki obsługuje sortowanie, członek dmCollate struktury DEVMODE wskazuje, czy użytkownik chce sortowania. Jeśli ta flaga nie jest ustawiona, członek dmCopies zawsze zwraca wartość 1, a element dmCollate jest zawsze równa zero.


Flags2
Zarezerwowane; musi mieć wartość zero.
ExclusionFlags
Zestaw flag bitowych, które można wykluczyć elementy ze stron właściwości sterownika drukarki w arkuszu właściwości drukowania . Ta wartość jest używana tylko wtedy, gdy jest ustawiona flaga PD_EXCLUSIONFLAGS Członkowskie flagi . Flagi wyłączenie stosuje się tylko wtedy, gdy element, który ma zostać wyłączone zostaną uwzględnione, na stronie Ogólne lub stronie zdefiniowane przez aplikację w arkuszu właściwości drukowania . Członek ten można określić następującą flagę.
PD_EXCL_COPIESANDCOLLATE
Nie obejmuje kontroli kopii i Sortuj od strony właściwości sterownika drukarki w arkuszu właściwości drukowania . Ta flaga powinno być zawsze ustawione, gdy aplikacja używa formantów kopii i sortowania domyślnego przewidzianym w dolnej części strony Ogólne arkusza właściwości drukowania.

nPageRanges
Na wejściu ustaw ten członek początkowa liczba zakresów stron określonych w tablicy lpPageRanges . Gdy funkcja PrintDlgEx zwraca, nPageRanges wskazuje liczbę zakresów stron określone informacje przechowywane w tablicy lpPageRanges . Jeżeli określono flagę PD_NOPAGENUMS, ta wartość nie jest prawidłowa.
nMaxPageRanges
Określa rozmiar elementów tablicy, buforu lpPageRanges . Ta wartość wskazuje maksymalną liczbę zakresów stron, które mogą być przechowywane w tablicy. Jeżeli określono flagę PD_NOPAGENUMS, ta wartość nie jest prawidłowa. Jeżeli nie określono flagę PD_NOPAGENUMS, ta wartość musi być większa od zera.
lpPageRanges
Wskaźnik bufor zawierający tablicę PRINTPAGERANGE struktury. Na wejściu tablica zawiera zakresy strony początkowej do wyświetlania w formancie edycji strony . Gdy funkcja PrintDlgEx zwraca, tablica zawiera zakresów stron, określony przez użytkownika.

Jeżeli określono flagę PD_NOPAGENUMS, ta wartość nie jest prawidłowa. Jeżeli nie określono flagę PD_NOPAGENUMS, lpPageRanges musi być NIEZEROWA.

nMinPage
Określa minimalną wartość zakresów stron określonych w formancie edycji strony . Jeżeli określono flagę PD_NOPAGENUMS, ta wartość nie jest prawidłowa.
nMaxPage
Określa wartość maksymalną dla zakresów stron określonych w formancie edycji strony . Jeżeli określono flagę PD_NOPAGENUMS, ta wartość nie jest prawidłowa.
nCopies
Zawiera początkowa liczba kopii dla formantu edycyjnego egzemplarzy , jeśli pole hDevMode ma wartość NULL; w przeciwnym razie członka dmCopies struktury DEVMODE zawiera wartość początkowa.

Gdy PrintDlgEx zwraca, nCopies zawiera rzeczywistą liczbę kopii, które aplikacji należy wydrukować. Wartość ta zależy od tego, czy aplikacja lub sterownik drukarki jest odpowiedzialny za drukowanie wielu kopii. Jeżeli w Państwa flagi jest ustawiona flaga PD_USEDEVMODECOPIESANDCOLLATE, nCopies jest zawsze 1 Zwrot i sterownik drukarki jest odpowiedzialny za drukowanie wielu kopii. Jeśli nie jest ustawiona flaga, aplikacja jest odpowiedzialny za drukowanie liczbę kopii, określonej przez nCopies. Aby uzyskać więcej informacji zobacz opis flagi PD_USEDEVMODECOPIESANDCOLLATE.

wystąpienie hInstance
Jeżeli w Państwa flagi jest ustawiona flaga PD_ENABLEPRINTTEMPLATE, wystąpienie hInstance to dojście aplikacji lub wystąpienia modułu, zawierający szablon pole dialogowe o nazwie przez członka lpPrintTemplateName . Jeżeli w Państwa flagi jest ustawiona flaga PD_ENABLEPRINTTEMPLATEHANDLE, wystąpienie hInstance to dojście obiektu pamięci zawierającego szablon pole dialogowe. Jeśli żaden z flag szablon jest ustawiony członka flagi , wystąpienie hInstance powinny być NULL.
lpPrintTemplateName
Wskaźnik ciąg zakończony znakiem null, nazwy zasobu szablonu pole dialogowe w module zidentyfikowane przez członka wystąpienie hInstance . Szablon ten zastępuje domyślny szablon pole dialogowe w dolnej części strony Ogólne . Domyślny szablon zawiera formanty podobne do okna dialogowego Drukuj . Członek ten jest ignorowany, chyba że członek flagi jest ustawiona flaga PD_ENABLEPRINTTEMPLATE.
lpCallback
Wskaźnik do obiektu zdefiniowanych przez aplikację wywołanie zwrotne.

Obiekt powinien zawierać klasy IPrintDialogCallback do odbierania wiadomości w oknie dialogowym dziecka w dolnej części strony Ogólne.

Obiekt wywołania zwrotnego powinien również zawierać IObjectWithSite klasy do otrzymywania wskaźnika do interfejsu IPrintDialogServices . Wywołania funkcji PrintDlgEx QueryInterface w obiekcie wywołania zwrotnego zarówno IID_IPrintDialogCallback , jak i IID_IObjectWithSite do określenia, które interfejsy są obsługiwane.

Jeśli nie chcesz pobierać informacje zwrotne, ustaw lpCallback na wartość NULL.

nPropertyPages
Określa liczbę dojść do strony właściwości w tablicy lphPropertyPages.
lphPropertyPages
Zawiera tablicę dojść do strony właściwości dodać do arkusza właściwości drukowania . Strony dodatkowe właściwości wykonaj Ogólne strony. Użycie CreatePropertySheetPage funkcji do tworzenia tych dodatkowych stron. Jeśli nPropertyPages jest równe zero, lphPropertyPages powinny być NULL.
nStartPage
Określa stronę właściwości, która jest początkowo wyświetlany. Aby wyświetlić stronę Ogólne , należy określić START_PAGE_GENERAL. W przeciwnym przypadku określić indeksu strony właściwości tablicy określonej w elemencie lphPropertyPages . Dla spójności zalecane jest, że arkusz właściwości zawsze można uruchomić na stronie Ogólne.
dwResultAction
Na wejściu ustawić tego członka do zera. Jeśli funkcja PrintDlgEx zwraca wartość S_OK, dwResultAction zawiera wyniki okna dialogowego. PrintDlgEx zwraca błąd, członek ten powinno być zignorowane. Element dwResultAction może być jedną z następujących wartości.
Wartość Znaczenie
PD_RESULT_APPLY Użytkownik kliknął przycisk Zastosuj , a później kliknięto przycisk Anuluj . Oznacza to, że użytkownik chce zastosować zmiany wprowadzone w arkuszu właściwości, ale nie chce wydrukować jeszcze. Struktura PRINTDLGEX zawiera informacje określone przez użytkownika w czasie, które został kliknięty przycisk Zastosuj.
PD_RESULT_CANCEL Użytkownik kliknął przycisk Anuluj . Informacje zawarte w strukturze PRINTDLGEX pozostaje niezmieniony.
PD_RESULT_PRINT Użytkownik kliknął przycisk Drukuj . Struktura PRINTDLGEX zawiera informacje określone przez użytkownika.

Uwagi

Kiedy należy wywołać funkcję PrintDlgEx , upewnij się, że członek wDeviceOffset struktury DEVNAMES jest identyczne do członka dmDeviceName struktury DEVMODE . Jeżeli członkowie ci nie określono tej samej drukarki, PrintDlgEx inicjuje arkusz właściwości za pomocą drukarki określonej przez członka wDeviceOffset.

Zazwyczaj Jeżeli pole hDevMode i hDevNames mają wartość NULL, PrintDlgEx inicjuje arkusz właściwości za pomocą bieżącej drukarki domyślnej. Jednakże jeśli jest ustawiona Flaga PD_RETURNDEFAULT i pole hDevMode i hDevNames są wartości NULL, PrintDlgEx używa członków hDevNames i pole hDevMode zwraca informacje na temat bieżącej drukarki domyślnej bez wyświetlania arkusza właściwości.

Podczas wykonywania PrintDlgEx struktury DEVMODE i DEVNAMES , które określono w strukturze PRINTDLGEX nie może zawsze zawierać bieżące dane. Z tego powodu strony właściwości specyficzne dla aplikacji, jak również procedur IPrintDialogCallback na stronie początkowej należy używać interfejsu IPrintDialogServices do pobierania informacji o stanie bieżącej drukarki.

Skrócone informacje

nbsp; Windows &NT: wymaga wersji 5.0 lub nowszej.
Systemu Windows:Nieobsługiwane.
Systemu Windows CE:Nieobsługiwane.
Nagłówka:Zadeklarowane w commdlg.h.
Importowanie biblioteki:Należy użyć comdlg32.lib.
Unicode:Zdefiniowane jako struktur Unicode i ANSI.

Zobacz też

Common Dialog Box Library Overview, Common Dialog Box Structures, CreateDC, CreateIC, CreatePropertySheetPage, DEVMODE, DEVNAMES, IObjectWithSite, IPrintDialogCallback, IPrintDialogServices, PrintDlgEx

Index