PRINTDLG yapısı, Yazdır iletişim kutusubaşlatmak için PrintDlg işlevini kullanan bilgi içerir. Kullanıcı iletişim kutusunu kapattıktan sonra sistem, kullanıcı seçimleri hakkında bilgi dönmek için bu yapıyı kullanır.
typedef struct tagPD {/ / pd dword lStructSize;
hwnd hwndOwner;
HDevMode idare;
HDevNames idare;
hdc hDC;
dword Flags;
word nFromPage;
word nToPage;
word nMinPage;
word nMaxPage;
word nCopies;
HINSTANCE HINSTANCE;
dword lCustData;
LPPRINTHOOKPROC lpfnPrintHook;
lpsetuphookproc lpfnSetupHook;
lpctstr lpPrintTemplateName;
lpctstr lpSetupTemplateName;
HPrintTemplate idare;
HSetupTemplate idare;
} PRINTDLG
HDevMode girdi null ise, PrintDlg devmode yapısını bellek ayırır, üyelerinin kullanıcı giriş göstermek için başlatır ve tanımladığı bir tanıtıcı döndürür.
Belirtilen yazıcı aygıt sürücüsü genişletilmiş cihaz modları desteklemiyorsa, PrintDlg döndüğünde hDevMode null olur.
Eğer aygıt adı ( dmDeviceName üyesi tarafından belirtilen devmode yapısını) WIN [devices] bölümünde görünmüyor.INI, PrintDlg , bir hata döndürür.
HDevMode ve hDevNames üyeler hakkında daha fazla bilgi için bu konunun sonundaki açıklamalar bölümüne bakın.
HDevNames üye null olabilir, hangi durumda, PrintDlg devnames yapısını, kullanıcıya göstermek için üyelerinin girişi, başlatır bellek ayırır ve onu tanımlayan bir tanıtıcı döndürür.
HDevMode ve hDevNames üyeler hakkında daha fazla bilgi için bu konunun sonundaki açıklamalar bölümüne bakın.
| PD_ALLPAGES | |
| Tüm radyo düğmesini başlangıçta seçili olduğunu gösterir varsayılan bayrak. Bu bayrak, pd_pagenums ve PD_SELECTION bayrakları belirtilmemiş belirtmek için yer tutucu olarak kullanılır. | |
| PD_COLLATE | |
| Bu bayrak ayarlanırsa, Harmanla onay kutusu işaretliyse. PrintDlg işlevi döndüğünde Bu bayrak ayarlanırsa, uygulamanın birden fazla kopyaları harmanlama taklit gerekir. Daha fazla bilgi için bkz: PD_USEDEVMODECOPIESANDCOLLATE bayrağı açıklaması. |
|
| PD_DISABLEPRINTTOFILE | |
| Dosyaya Yazdır onay kutusunu devre dışı bırakır. | |
| PD_ENABLEPRINTHOOK | |
| Belirlenen lpfnPrintHook üyesi kanca işlemi sağlar. Bu kanca işlemi için Yazdır iletişim kutusunu sağlar. | |
| PD_ENABLEPRINTTEMPLATE | |
| HINSTANCE ve lpPrintTemplateName üyeleri varsayılan yazdırma iletişim kutusunda şablon yerini belirtin gösterir. | |
| PD_ENABLEPRINTTEMPLATEHANDLE | |
| HPrintTemplate üye önceden yüklenmiş iletişim kutusunda şablon içeren veri bloğu tanımlar gösterir. Bu şablonu varsayılan şablon için Yazdır iletişim kutusunun yerini almıştır. Bu seçenek belirtilmezse sistem, lpPrintTemplateName üye yoksayar. | |
| PD_ENABLESETUPHOOK | |
| Belirlenen lpfnSetupHook üyesi kanca işlemi sağlar. Bu, Yazdırma ayarı iletişim kutusunun kancası yordamı sağlar. | |
| PD_ENABLESETUPTEMPLATE | |
| HINSTANCE ve lpSetupTemplateName üyeleri varsayılan yazdırmakurulumu iletişim kutusunda şablon yerini belirtin gösterir . | |
| PD_ENABLESETUPTEMPLATEHANDLE | |
| HSetupTemplate üye önceden yüklenmiş iletişim kutusunda şablon içeren veri bloğu tanımlar gösterir. Bu şablonu varsayılan şablon Yazdırma ayarı iletişim kutusunun yerini almıştır. Bu seçenek belirtilmezse sistem, lpSetupTemplateName üye yoksayar. | |
| PD_HIDEPRINTTOFILE | |
| Dosyaya Yazdır onay kutusunu gizler. | |
| PD_NONETWORKBUTTON | |
| Gizler ve Ağ düğmesini devre dışı bırakır. | |
| PD_NOPAGENUMS | |
| Sayfaları radyo düğmesi ve ilişkili denetimler devre dışı bırakır. | |
| PD_NOSELECTION | |
| Seçim radyo düğmesi devre dışı bırakır. | |
| PD_NOWARNING | |
| Varsayılan yazıcı yok olduğunda görüntülenen uyarı iletisini engeller. | |
| PD_PAGENUMS | |
| Bu bayrak ayarlanırsa, sayfaları radyo düğmesinin seçili. PrintDlg işlevi döndüğünde Bu bayrak ayarlanırsa, başlangıç ve bitiş sayfalarını kullanıcı tarafından belirtilen nFromPage ve nFromPage üyeleri gösterir. |
|
| PD_PRINTSETUP | |
| Yazdır iletişim kutusu yerine Yazdırma ayarları iletişim kutusunu görüntülemek için sistem neden. | |
| PD_PRINTTOFILE | |
| Bu bayrak ayarlanırsa, Dosyaya Yazdır onay kutusunun seçili olduğunu. PrintDlg işlevi döndüğünde Bu bayrak ayarlanırsa, devnames yapısı wOutputOffset üye tarafından belirtilen konum dizesi içeriyor "Dosya:". Arama yaptığınızda yazdırma işlemini başlatmak için StartDoc işlevini belirtmek bu "Dosya:" dizesi lpszOutput üyesi DOCINFO yapısı. Çıktı dosyası adı için kullanıcı sorgulamak yazdırma alt sistemi neden bu dize belirtme. |
|
| PD_RETURNDC | |
| Kullanıcı iletişim kutusunda yaptığınız seçimleri eşleşen bir aygıt içeriğini dönmek için PrintDlg neden olur. Aygıt içeriğini hDC içinde döndürülür. | |
| PD_RETURNDEFAULT | |
| Bu bayrak ayarlanırsa, PrintDlg işlevi iletişim kutusunu görüntülemez. Bunun yerine, bu tanıtıcıları hDevNames ve hDevMode üyeleri ayarlar sistem varsayılan yazıcısı başlatılamadı devmode ve devnames yapılar. Hem hDevNames hem de hDevMode null olmalıdır ya da PrintDlg , bir hata döndürür. Sistem varsayılan yazıcıyı Windows sürümü 3.0'den (önceki) eski bir yazıcı sürücüsü tarafından desteklenir, yalnızca hDevNames döndürülür; hDevMode null olur. |
|
| PD_RETURNIC | |
| Pd_returndc bayrak, benzer dışında bu bayrağı bir bilgi içerik yerine bir aygıt içeriğini döndürür. Ne pd_returndc ne de PD_RETURNIC belirtilirse, hDC çıktı tanımsız. | |
| PD_SELECTION | |
| Bu bayrak ayarlanırsa, seçim radyo düğmesi seçilir. Ne pd_pagenums ne de PD_SELECTION ayarlı ise, tüm radyo düğmesinin seçili. |
|
| PD_SHOWHELP | |
| Yardım düğmesini görüntülemek için iletişim kutusunu neden olur. HwndOwner üye HELPMSGSTRING almak için pencereyi kayıtlı kullanıcı Yardım düğmesini tıklattığında iletişim kutusunu gönderdiği iletileri belirtmeniz gerekir. | |
| PD_USEDEVMODECOPIES | |
| PD_USEDEVMODECOPIESANDCOLLATE aynı | |
| PD_USEDEVMODECOPIESANDCOLLATE | |
| Bu bayrak, uygulamanızı birden çok kopya ve harmanlama destekleyip desteklemediğini gösterir. Bu bayrak, giriş uygulamanız birden çok kopya ve harmanlama desteklemiyor belirtmek için ayarlayın. Bu durumda, PRINTDLG yapısı nCopies üyesi daima 1 döner ve pd_collate asla bayrakları üye ayarlanır. Bu bayrağı ayarlanmazsa, uygulama yazdırma ve birden çok kopya harmanlama sorumludur. Bu durumda, kopya yazdırmak için kullanıcının istediği nCopies üye PRINTDLG yapısını gösterir ve bayrakları üye pd_collate bayrak kullanıcının harmanlama istediği olup olmadığını gösterir. Olup bu bayrak ayarlandığında, bakılmaksızın bir uygulama nCopies ve pd_collate işlemek için kaç kopya belirleyebilir ve bunları yazdırılıp yazdırılmayacağını harmanlanmış. Bu bayrağı ayarlandı ve yazıcı sürücüsü birden çok kopya desteklemiyor, kopya düzenleme denetimi devre dışı bırakılır. Benzer şekilde, bu bayrağı ayarlandı ve yazıcı sürücüsü harmanlama desteklemiyor, Harmanla onay kutusunu devre dışıdır. DmCopies ve dmCollate üyeleri devmode yapısını ve bilgi yazıcı sürücüsü tarafından kullanılan harmanlamayı kopyaları içerir. Bu bayrak ayarlanırsa ve birden çok kopya yazıcı sürücüsünü destekler, dmCopies üye kullanıcı tarafından istenen kopya sayısını belirtir. Bu bayrağı ayarlandı ve yazıcı sürücüsü harmanlamayı destekliyorsa, devmode yapısının dmCollate üye kullanıcının harmanlama istediği olup olmadığını gösterir. Bu bayrağı ayarlanmazsa, dmCopies üye daima 1 döner ve dmCollate üye her zaman sıfır. |
|
PrintDlg döndürür, nFromPage kullanıcı tarafından belirtilen başlangıç sayfası olur. Kullanıcı pd_pagenums bayrak ve kadar dönmez PrintDlg setleri, Tamam düğmesini tıklattığında sayfaları radyo düğmesi seçiliyse, kullanıcı içinde maksimum sayfa aralığı en az bir başlangıç sayfası değer giriyor.
Windows 95: NFromPage ya da nToPage için girdi değeri nMinPage ve nMaxPagetarafından belirtilen aralık dışındaysa, PrintDlg bir hata döndürür.
Windows NT: NFromPage ya da nToPage için giriş değeri yalnızca pd_pagenums bayrağı belirtilmişse minimum/maksimum aralığı dışında PrintDlg döner bir hata ise; Aksi takdirde bu iletişim kutusunu görüntüler ancak minimum veya maksimum değere out Aralık değerini değiştirir.
PrintDlg döndürür, nToPage kullanıcı tarafından belirtilen bitiş sayfası olur. Kullanımı pd_pagenums bayrak ve kadar dönmez PrintDlg setleri, Tamam düğmesini tıklattığında sayfaları radyo düğmesi seçiliyse, kullanıcı içinde maksimum sayfa aralığı en az bir bitiş sayfası değer giriyor.
DmDeviceName üyelerine PrintDlg fonksiyonu, emin olun ki devnames yapısı wDeviceOffset üyesi aradığınızda aynıdır devmode yapısını. Bu üyelerin aynı yazıcı belirtmezseniz, PrintDlg wDeviceOffset üyesi tarafından belirtilen yazıcı kullanarak iletişim kutusunu başlatır.
Genellikle, hem hDevMode hem de hDevNames null ise, geçerli varsayılan yazıcı kullanarak iletişim kutusunu PrintDlg başlatır. Ancak hDevMode ve hDevNames pd_returndefault bayrağı ayarlandı ve null PrintDlg hDevNames ve hDevMode üyeleri iletişim kutusunu görüntülemeden geçerli varsayılan yazıcı hakkında bilgi dönmek için kullanır.
nbsp; Windows &NT: sürüm 3.1 veya üstü gerektirir.
Windows:Windows 95 veya sonraki sürümleri gerektirir.
Windows ce:Sürüm 1.0 veya daha ilerisini gerektirir.
Header:Winspool.h ilan etti.
Unicode:Unicode ve ANSI yapılar tanımlanan.
Ortak iletişim kutusuna kitaplığın genel bakış, ortak iletişim kutusu yapıları, CreateDC, CreateIC, PrintDlg, devmode, devnames, WM_INITDIALOG