Struktura PRINTDLG zawiera informacje, że funkcja PrintDlg używa do zainicjowania okna dialogowego Drukuj . Po użytkownik zamyka okno dialogowe, system używa tej struktury zwraca informacje na temat użytkownika zaznaczeń.
element TypeDef struct tagPD {/ / pd DWORD lStructSize;
HWND hwndOwner;
UCHWYT pole hDevMode;
UCHWYT hDevNames;
HDC hDC;
DWORD Znaczników;
Program WORD nFromPage;
Program WORD nToPage;
Program WORD nMinPage;
Program WORD nMaxPage;
Program WORD nCopies;
Wystąpienie hInstance wystąpienie HINSTANCE;
DWORD lCustData;
LPPRINTHOOKPROC lpfnPrintHook;
LPSETUPHOOKPROC lpfnSetupHook;
LPCTSTR lpPrintTemplateName;
LPCTSTR lpSetupTemplateName;
UCHWYT hPrintTemplate;
UCHWYT hSetupTemplate;
} PRINTDLG
Jeśli pole hDevMode ma wartość NULL na wejściu, PrintDlg 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.
Jeśli sterownik urządzenia dla określona drukarka nie obsługuje tryby rozszerzone urządzenia, pole hDevMode ma wartość NULL, gdy zwraca PrintDlg.
Jeżeli nazwa urządzenia (określonej przez członka dmDeviceName struktury DEVMODE ) nie są wyświetlane w sekcji [devices] win.INI, PrintDlg zwraca błąd.
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, PrintDlg 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 i PD_SELECTION. | |
| PD_COLLATE | |
| Jeśli ta flaga będzie ustawiona, zaznaczone jest pole wyboru Sortuj. Jeśli ta flaga będzie ustawiona, gdy funkcja PrintDlg zwraca, aplikacja musi symulować sortowania wielu kopii. Aby uzyskać więcej informacji zobacz opis flagi PD_USEDEVMODECOPIESANDCOLLATE. |
|
| PD_DISABLEPRINTTOFILE | |
| Wyłącza pole wyboru Drukuj do pliku. | |
| PD_ENABLEPRINTHOOK | |
| Umożliwia procedura haka określony w elemencie lpfnPrintHook . Umożliwia to procedura haka w oknie dialogowym Drukuj. | |
| PD_ENABLEPRINTTEMPLATE | |
| Wskazuje, że wystąpienie hInstance i lpPrintTemplateName członków określić zastąpić domyślny szablon pola okna dialogowego Drukuj. | |
| PD_ENABLEPRINTTEMPLATEHANDLE | |
| Wskazuje, że element hPrintTemplate identyfikuje bloku danych, zawierający szablon pole dialogowe wstępnie. Szablon ten zastępuje domyślny szablon w oknie dialogowym Drukuj . System ignoruje Państwa lpPrintTemplateName , jeśli ta flaga jest określona. | |
| PD_ENABLESETUPHOOK | |
| Umożliwia procedura haka określony w elemencie lpfnSetupHook . Umożliwia to procedura haka w oknie dialogowym Ustawienia wydruku. | |
| PD_ENABLESETUPTEMPLATE | |
| Wskazuje, że wystąpienie hInstance i lpSetupTemplateName członków określić zastępujące szablonu domyślnego Ustawienia okna dialogowego pole . | |
| PD_ENABLESETUPTEMPLATEHANDLE | |
| Wskazuje, że element hSetupTemplate identyfikuje bloku danych, zawierający szablon pole dialogowe wstępnie. Szablon ten zastępuje domyślny szablon w oknie dialogowym Ustawienia wydruku . System ignoruje Państwa lpSetupTemplateName , jeśli ta flaga jest określona. | |
| PD_HIDEPRINTTOFILE | |
| Ukrywa pole wyboru Drukuj do pliku. | |
| PD_NONETWORKBUTTON | |
| Ukrywa i wyłącza przycisk sieć. | |
| PD_NOPAGENUMS | |
| Wyłącza przycisk radiowy stron i formantach edycyjnych skojarzone. | |
| PD_NOSELECTION | |
| Wyłącza przycisk radiowy zaznaczenia. | |
| PD_NOWARNING | |
| Uniemożliwia wyświetlenie po żadna drukarka domyślna komunikat ostrzegawczy. | |
| PD_PAGENUMS | |
| Jeśli ta flaga będzie ustawiona, zaznaczono przycisk radiowy stron. Jeśli ta flaga będzie ustawiona, gdy funkcja PrintDlg zwraca, nFromPage i nFromPage członków wskazują początkowego i końcowego stron podanych przez użytkownika. |
|
| PD_PRINTSETUP | |
| Powoduje, że system, aby wyświetlić okno dialogowe Ustawienia wydruku , a nie w oknie dialogowym Drukowanie. | |
| PD_PRINTTOFILE | |
| Jeśli ta flaga będzie ustawiona, zaznaczone jest pole wyboru Drukuj do pliku. Jeśli ta flaga będzie ustawiona, gdy funkcja PrintDlg 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 PrintDlg do zwrotu kontekstu urządzenia dopasowywania zaznaczenia przez użytkownika w oknie dialogowym. Kontekstu urządzenia jest zwracany w hDC. | |
| PD_RETURNDEFAULT | |
| Jeśli ta flaga będzie ustawiona, funkcja PrintDlg nie wyświetla okno dialogowe. 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 PrintDlg zwraca błąd. Jeśli drukarka domyślna systemu jest obsługiwany przez (wcześniejsza niż Windows w wersji 3.0) stary sterownik drukarki, zwracany jest tylko hDevNames ; pole hDevMode ma wartość NULL. |
|
| 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 ani PD_PAGENUMS, ani PD_SELECTION nie jest ustawiona, wszystkie przycisk opcji jest zaznaczony. |
|
| PD_SHOWHELP | |
| Powoduje, że okno dialogowe wyświetlić przycisk Pomoc . Państwa hwndOwner należy określić, że okno, aby otrzymać HELPMSGSTRING zarejestrowane komunikaty, które okna dialogowego wysyła wówczas, gdy użytkownik kliknie przycisk Pomoc. | |
| 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 PRINTDLG 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 PRINTDLG 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. |
|
Gdy PrintDlg zwraca, nFromPage jest stroną początkową określony przez użytkownika. Jeśli zaznaczono przycisk radiowy stron , gdy użytkownik kliknie przycisk OK , zestawy PrintDlg PD_PAGENUMS flagę i nie powrócić do użytkownik wprowadzi wartość początkową strona, która mieści się w minimalnej do maksymalnej strony zakresu.
Systemu Windows 95: Zwraca błąd, jeśli wartości wejściowej dla nFromPage lub nToPage jest poza zakresem określonym przez nMinPage i nMaxPage, PrintDlg.
Systemu Windows NT: Jeśli dane wejściowe wartość nFromPage lub nToPage jest poza zakresem minimum/maksimum, PrintDlg zwraca błąd tylko wtedy, gdy określono flagę PD_PAGENUMS; w przeciwnym razie wyświetla okno dialogowe, ale zmienia wartość spoza zakresu wartości minimalnej lub maksymalnej.
Po PrintDlg zwraca, nToPage jest strona końcową określoną przez użytkownika. Jeśli zaznaczono przycisk radiowy stron , gdy użycie klika przycisk OK , zestawy PrintDlg PD_PAGENUMS flagę i nie powrócić do użytkownik wprowadzi wartość Strona końcową, która mieści się w minimalnej do maksymalnej strony zakresu.
Kiedy należy wywołać funkcję PrintDlg , 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, PrintDlg inicjuje okno dialogowe, za pomocą drukarki określonej przez członka wDeviceOffset.
Zazwyczaj Jeżeli pole hDevMode i hDevNames mają wartość NULL, PrintDlg inicjuje okno dialogowe, 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, PrintDlg używa członków hDevNames i pole hDevMode zwraca informacje na temat bieżącej drukarki domyślnej bez wyświetlania okna dialogowego.
nbsp; Windows &NT: wymagana wersja 3.1 lub nowsza.
Systemu Windows:Wymaga systemu Windows 95 lub nowszego.
Systemu Windows CE:Wymaga wersja 1.0 lub nowsza.
Nagłówka:Zadeklarowane w winspool.h.
Unicode:Zdefiniowane jako struktur Unicode i ANSI.
Wspólny omówienie biblioteki okna dialogowego, wspólnych struktur pole dialogowe, CreateDC, CreateIC, PrintDlg, DEVMODE, DEVNAMES., WM_INITDIALOG