PRINTDLG

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 

 

Członkowie

lStructSize
Określa w bajtach rozmiar struktury.
hwndOwner
Identyfikuje okno, w którym posiada okno dialogowe. Ten element może być dowolny uchwyt okna ważne lub go może być NULL, jeśli okno dialogowe bez właściciela.
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 PrintDlg używa inicjowanie wejściowy datato formantów w oknie dialogowym. Gdy PrintDlg zwraca, członkowie DEVMODE wskazać użytkownika.

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.

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 PrintDlg używa inicjowanie wejściowy datato formantów w oknie dialogowym. Gdy PrintDlg 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, 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.

hDC
Identyfikuje 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ć wspólne okno dialogowe Drukuj . Gdy okno dialogowe 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 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.


nFromPage
Określa wartość początkową dla rozpoczęcia formant edycji strony.

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.

nToPage
Określa wartość początkową, końcową kontroli Edycja strony.

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.

nMinPage
Określa minimalną wartość zakres stron określonych w formantach edycyjnych strony od i do . Jeśli nMinPage jest równa nMaxPage, przycisk radiowy stron i początkowego i końcowego formanty edycji strony są wyłączone.
nMaxPage
Określa wartość maksymalna dla zakresu stron, określonych w i z formanty edycji strony.
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ątkową. Gdy PrintDlg zwraca, nCopies zawiera rzeczywistą liczbę drukowanych kopii. 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 lub PD_ENABLESETUPTEMPLATE, wystąpienie hInstance to dojście aplikacji lub instancji modułu, który zawiera szablon pole dialogowe o nazwie przez członka lpPrintTemplateName lub lpSetupTemplateName.
lCustData
Określa dane zdefiniowane przez aplikację, że system przechodzi do procedura haka zidentyfikowane przez członka lpfnPrintHook lub lpfnSetupHook . Gdy system wysyła komunikat WM_INITDIALOG procedura haka, wiadomości fikcyjnymi parametr jest wskaźnik do struktury PRINTDLG określone podczas tworzenia okna dialogowego. Procedura haka można użyć tego wskaźnika aby uzyskać wartość lCustData.
lpfnPrintHook
Wskaźnik PrintHookProc spinanie procedury, który może przetwarzać wiadomości przeznaczonych do okna dialogowego Drukuj . Członek ten jest ignorowany, chyba że członek flagi jest ustawiona flaga PD_ENABLEPRINTHOOK.
lpfnSetupHook
Wskaźnik SetupHookProc spinanie procedury, który może przetwarzać wiadomości przeznaczonych dla okna dialogowego Ustawienia wydruku . Członek ten jest ignorowany, chyba że członek flagi jest ustawiona flaga PD_ENABLESETUPHOOK.
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 pola okna dialogowego Drukuj . Członek ten jest ignorowany, chyba że członek flagi jest ustawiona flaga PD_ENABLEPRINTTEMPLATE.
lpSetupTemplateName
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 Ustawienia wydruku . Członek ten jest ignorowany, chyba że członek flagi jest ustawiona flaga PD_ENABLESETUPTEMPLATE.
hPrintTemplate
Jeżeli w Państwa flagi jest ustawiona flaga PD_ENABLEPRINTTEMPLATEHANDLE, hPrintTemplate to dojście obiektu pamięci zawierającego szablon pole dialogowe. Szablon ten zastępuje domyślny szablon pola okna dialogowego Drukuj.
hSetupTemplate
Jeżeli w Państwa flagi jest ustawiona flaga PD_ENABLESETUPTEMPLATEHANDLE, hSetupTemplate to dojście obiektu pamięci zawierającego szablon pole dialogowe. Szablon ten zastępuje domyślny szablon pole dialogowe Ustawienia wydruku.

Uwagi

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.

Skrócone informacje

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.

Zobacz też

Wspólny omówienie biblioteki okna dialogowego, wspólnych struktur pole dialogowe, CreateDC, CreateIC, PrintDlg, DEVMODE, DEVNAMES., WM_INITDIALOG

Index