[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
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.
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.
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. |
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. |
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.
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.
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.
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. |
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.
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.
Common Dialog Box Library Overview, Common Dialog Box Structures, CreateDC, CreateIC, CreatePropertySheetPage, DEVMODE, DEVNAMES, IObjectWithSite, IPrintDialogCallback, IPrintDialogServices, PrintDlgEx