[Bu ön belgeleme ve değiştirmek için bir konu değildir.]
PRINTDLGEX yapısı, yazdırma özellik sayfasıbaşlatmak için PrintDlgEx işlevini kullanan bilgi içerir. Kullanıcı özellik sayfası kapandıktan sonra sistem kullanıcı seçimleri hakkında bilgi dönmek için bu yapıyı kullanır.
typedef struct tagPDEX {}
dword lStructSize;
hwnd hwndOwner;
hglobal hDevMode;
hglobal hDevNames;
hdc hDC;
dword Flags;
dword Flags2;
dword ExclusionFlags;
dword nPageRanges;
dword nMaxPageRanges;
LPPRINTPAGERANGE lpPageRanges;
dword nMinPage;
dword nMaxPage;
dword nCopies;
HINSTANCE HINSTANCE;
lpctstr lpPrintTemplateName;
lpunknown lpCallback;
dword nPropertyPages;
hpropsheetpage * lphPropertyPages;
dword nStartPage;
dword dwResultAction;
} PRINTDLGEX, * LPPRINTDLGEX
HDevMode girdi null ise, PrintDlgEx 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.
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, PrintDlgEx 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, PD_SELECTION ve pd_currentpage bayrakları belirtilmemiş belirtmek için yer tutucu olarak kullanılır. | |
| PD_COLLATE | |
| Bu bayrak ayarlanırsa, Harmanla onay kutusu işaretliyse. PrintDlgEx 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_CURRENTPAGE | |
| Bu bayrak ayarlanırsa, Geçerli sayfa radyo düğmesi seçilir. Hiçbiri-pd_pagenums, PD_SELECTION ya da pd_currentpage bayrak ayarlanırsa, tüm radyo düğmesinin seçili. | |
| PD_DISABLEPRINTTOFILE | |
| Dosyaya Yazdır onay kutusunu devre dışı bırakır. | |
| PD_ENABLEPRINTTEMPLATE | |
| HINSTANCE ve lpPrintTemplateName üyeleri Genel sayfanın alt kısmında varsayılan iletişim kutusunda şablon yerini belirtin gösterir. Denetimleri benzer-e doğru o Yazdır iletişim kutusunun varsayılan şablonu içerir. Sistem, Genel sayfa alt pencere oluşturmak için belirtilen şablon kullanır. | |
| PD_ENABLEPRINTTEMPLATEHANDLE | |
| HINSTANCE üye önceden yüklenmiş iletişim kutusunda şablon içeren veri bloğu tanımlar gösterir. Bu şablonu varsayılan iletişim kutusunda şablon Genel sayfanın alt bölümünde yerini alır. Sistem belirtilen şablon Genel sayfa alt pencere oluşturmak için kullanır. Bu seçenek belirtilmezse sistem, lpPrintTemplateName üye yoksayar. | |
| PD_EXCLUSIONFLAGS | |
| ExclusionFlags üye yazıcı sürücüsü özellik sayfalarından bırakılacak öğeleri tanımlar gösterir. Bu bayrağı ayarlanmazsa, varsayılan yazıcı sürücüsü özellik sayfaları'ndan öğeleri tutulur. İstisnalar öğeler arasında Genel sayfa, herhangi bir uygulama belirtilen ve yazıcı sürücüsü sayfalarında tekrarını önlemek. | |
| PD_HIDEPRINTTOFILE | |
| Dosyaya Yazdır onay kutusunu gizler. | |
| PD_NOCURRENTPAGE | |
| Geçerli sayfayı radyo 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 | |
| Uyarı iletisini bir hata oluştuğunda görüntülenmesini engeller. | |
| PD_PAGENUMS | |
| Bu bayrak ayarlanırsa, sayfaları radyo düğmesi seçilir. Hiçbiri-pd_pagenums, PD_SELECTION ya da pd_currentpage bayrak ayarlanırsa, tüm radyo düğmesinin seçili. PrintDlgEx işlevi döndüğünde Bu bayrak ayarlanırsa, lpPageRanges üye tarafından belirtilen sayfa aralıklarını gösterir. |
|
| PD_PRINTTOFILE | |
| Bu bayrak ayarlanırsa, Dosyaya Yazdır onay kutusunun seçili olduğunu. PrintDlgEx 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 | |
| Seçimleri eşleşen bir aygıt içeriğini dönmek için PrintDlgEx özellik sayfasında yapılan kullanıcı neden olur. Aygıt içeriğini hDC içinde döndürülür. | |
| PD_RETURNDEFAULT | |
| Bu bayrak ayarlanırsa, PrintDlgEx fonksiyonu özellik sayfası görüntülenmez. 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 PrintDlgEx , bir hata döndürür. | |
| 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. Hiçbiri-pd_pagenums, PD_SELECTION ya da pd_currentpage bayrak ayarlanırsa, tüm radyo düğmesinin seçili. |
|
| 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, PRINTDLGEX 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 PRINTDLGEX 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. |
|
| PD_EXCL_COPIESANDCOLLATE | |
| Yazıcı sürücü özellik sayfalarından yazdırma özellik sayfasındaki kopyaları ve Harmanla denetimleri hariçtir. Uygulama Genel sayfa yazdırma özellik sayfasının alt kısmındaki tarafından sağlanan varsayılan kopya ve Harmanla denetimleri kullanırken, her zaman bu bayrak ayarlanmalıdır. | |
Pd_nopagenums bayrağı belirtilmişse, bu değer geçerli değil. pd_nopagenums bayrak belirtilmezse, lpPageRanges boş olmayan olmalıdır.
PrintDlgEx döndüğünde nCopies uygulama yazdırmanız gerekir kopya sayısını içerir. Bu değer, uygulama veya yazıcı sürücüsü birden çok kopya yazdırmak için sorumlu olmasına bağlıdır. PD_USEDEVMODECOPIESANDCOLLATE bayrağı bayrak üyesinin ayarlanırsa, nCopies her zaman 1 üzerinde getiri ve birden çok kopya yazdırmak için yazıcı sürücüsü sorumludur. Bayrağı ayarlanmazsa, uygulama nCopiestarafından belirtilen kopya yazdırmak için sorumludur. Daha fazla bilgi için bkz: PD_USEDEVMODECOPIESANDCOLLATE bayrağı açıklaması.
Nesne Genel sayfanın alt bölümünde çocuk iletişim kutusu iletileri almaya IPrintDialogCallback sınıf içermelidir.
Geri arama nesnesi de içermelidir IObjectWithSite sınıfı IPrintDialogServices arayüzü için bir işaretçi alır. PrintDlgEx işlev çağrıları hem IID_IPrintDialogCallback hem de IID_IObjectWithSite hangi arayüzleri desteklenmektedir belirlemek geri arama nesnesi üzerinde QueryInterface.
Geri arama bilgileri almak istemiyorsanız, lpCallback null olarak ayarlayın.
| Değer | Anlamı |
|---|---|
| PD_RESULT_APPLY | Kullanıcı Uygula düğmesini tıklatıp, daha sonra İptal düğmesi tıklandığında. Bu kullanıcı özellik sayfasında yaptığınız değişiklikleri uygulamak istiyor, ama henüz yazdırmak istediğiniz değil gösterir. PRINTDLGEX yapısı Uygula düğmesini tıklayan zaman kullanıcı tarafından belirtilen bilgileri içeren. |
| PD_RESULT_CANCEL | Kullanıcı İptal düğmesini tıklattınız. Bilgi PRINTDLGEX yapısı değişmeden. |
| PD_RESULT_PRINT | Kullanıcı Yazdır düğmesini tıklattınız. PRINTDLGEX yapısı kullanıcı tarafından belirtilen bilgileri içeren. |
DmDeviceName üyelerine PrintDlgEx 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, PrintDlgEx wDeviceOffset üyesi tarafından belirtilen yazıcı kullanarak özellik sayfası başlatır.
Genellikle, hem hDevMode hem de hDevNames null ise, geçerli varsayılan yazıcıyı kullanarak özellik sayfası PrintDlgEx başlatır. Ancak hDevMode ve hDevNames pd_returndefault bayrağı ayarlandı ve null PrintDlgEx hDevNames ve hDevMode üyeleri özellik sayfasını görüntülemeden geçerli varsayılan yazıcı hakkında bilgi dönmek için kullanır.
PrintDlgEx, yürütme sırasında PRINTDLGEX yapısında belirtilen devmode ve devnames yapıları geçerli verileri her zaman içeremez. Bu nedenle, uygulamaya özgü özellik sayfaları yanı sıra başlangıç sayfası IPrintDialogCallback yordamları IPrintDialogServices arabirimi geçerli yazıcının durumu hakkında bilgi almak için kullanmalıdır.
nbsp; Windows &NT: sürüm 5.0 veya sonraki sürümünü gerektirir.
Windows:Desteklenmeyen.
Windows ce:Desteklenmeyen.
Header:Commdlg.h ilan etti.
İçe Library:Comdlg32.lib kullanın.
Unicode:Unicode ve ANSI yapılar tanımlanan.
Common Dialog Box Library Overview, Common Dialog Box Structures, CreateDC, CreateIC, CreatePropertySheetPage, DEVMODE, DEVNAMES, IObjectWithSite, IPrintDialogCallback, IPrintDialogServices, PrintDlgEx