PRINTDLGEX

[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 

Üyeler

lStructSize
Yapısı boyutunu bayt cinsinden belirtir.
hwndOwner
Özellik sayfasının sahibi pencereye kolu. Bu üye, geçerli pencere tanıtıcı olmalıdır; BOŞ olamaz.
hDevMode
İdare içeren bir hareketli küresel bellek nesnesi bir devmode yapısını. HDevMode girdi null değilse, hareketli bir bellek bloğu devmode yapısını tahsis ve üyelerinin başlatmak gerekir. PrintDlgEx işlevi, denetimler özellik sayfasında giriş datato başlatma kullanır. PrintDlgEx döndürür, devmode üye kullanıcı girişi belirtiniz.

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
Bir devnames yapısı içeren hareketli küresel bellek nesnesi için tanıtıcı. HDevNames girdi null değilse, hareketli bir bellek bloğu devnames yapısını tahsis ve üyelerinin başlatmak gerekir. PrintDlgEx işlevi, denetimler özellik sayfasında giriş datato başlatma kullanır. devnames üyeleri, PrintDlgEx döndüğünde, kullanıcı tarafından seçilen yazıcının bilgilerini içerir. Bir aygıt içerik veya bilgi içeriği oluşturmak için bu bilgileri kullanabilirsiniz.

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.

hDC
Bir aygıt içeriğini veya bağlı olup bayrakları üye pd_returndc ya da PC_RETURNIC bayrağı belirtir bir bilgi içerik işleci. Ne bayrağı belirtilmişse, Bu üyenin değeri tanımsız. Her iki bayrak belirtilmezse, pd_returndc önceliğe sahiptir.
Bayraklar
Yazdırma özellik sayfası başlatmak için kullanabileceğiniz bir bit bayrağı kümesidir. PrintDlgEx işlevi, o kullanıcının giriş göstermek için bu bayrakları ayarlar. Bu üye aşağıdaki bayrakları bir arada olabilir.
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.


Flags2
«««Aittir; sıfır olmalıdır.
ExclusionFlags
Öğeleri yazdırma özellik sayfasında yazıcı sürücüsü özellik sayfalarından dışlayabilirsiniz bit bayrağı kümesidir. Bu değer, yalnızca bayrakları üye PD_EXCLUSIONFLAGS bayrağı ayarlanmışsa kullanılır. Sadece dışarıda maddenin Genel sayfasında veya uygulama tanımlı sayfa yazdırma özellik sayfası dahil edilecektir dışlama bayrakları kullanılmalıdır. Bu üye aşağıdaki bayrak belirtebilirsiniz.
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.

nPageRanges
Giriş Bu üye ilk lpPageRanges dizide belirtilen sayfa aralıklarını ayarlayın. PrintDlgEx işlevi nPageRanges lpPageRanges dizide saklanan kullanıcı belirtilen sayfa aralıkları sayısını gösterir. pd_nopagenums bayrağı belirtilmişse, bu değer geçerli değil.
nMaxPageRanges
İçinde dizi öğelerini lpPageRanges arabellek boyutunu belirtir. Bu değer, dizide depolanan sayfa Aralık sayısı üst sınırını belirtir. pd_nopagenums bayrağı belirtilmişse, bu değer geçerli değil. pd_nopagenums bayrak belirtilmezse, bu değer sıfırdan büyük olmalıdır.
lpPageRanges
PRINTPAGERANGE yapıları dizisi içeren bir tampon için işaretçi. Giriş sayfaları düzenleme denetimini görüntülemek için ilk sayfa aralıklarını içerir. PrintDlgEx işlevi, kullanıcı tarafından belirtilen sayfa aralıklarını içerir.

Pd_nopagenums bayrağı belirtilmişse, bu değer geçerli değil. pd_nopagenums bayrak belirtilmezse, lpPageRanges boş olmayan olmalıdır.

nMinPage
Sayfaları düzenleme denetimine belirtilen sayfa aralıklarını en düşük değeri belirtir. pd_nopagenums bayrağı belirtilmişse, bu değer geçerli değil.
nMaxPage
Sayfaları düzenleme denetimine belirtilen sayfa aralıklarını en yüksek değeri belirtir. pd_nopagenums bayrağı belirtilmişse, bu değer geçerli değil.
nCopies
HDevMode null ise ilk kaç kopya kopya düzenleme denetimi içerir; Aksi takdirde, dmCopies üyesi devmode yapısını içeren başlangıç değeri.

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ı.

hINSTANCE
PD_ENABLEPRINTTEMPLATE bayrağı bayrak üyesinin ayarlanmışsa, HINSTANCE uygulamanın veya lpPrintTemplateName üye tarafından adlı iletişim kutusunda şablonu içeren modül örneğinin tanıtıcı iş. Bayrakları üye PD_ENABLEPRINTTEMPLATEHANDLE bayrağı ayarlanmışsa, HINSTANCE tanıtıcı iletişim kutusunda şablon içeren bellek nesnesi değil. Ne şablonu bayrakları bayrak üyesinin ayarlarsanız, HINSTANCE null olmalıdır.
lpPrintTemplateName
HINSTANCE üye tarafından tanımlanan modül iletişim kutusunda şablon kaynak adları boşlukla sonlandırılmış dize işaretçisi. Bu şablonu varsayılan iletişim kutusunda şablon Genel sayfanın alt bölümünde yerini alır. Denetimleri benzer-e doğru o Yazdır iletişim kutusunun varsayılan şablonu içerir. PD_ENABLEPRINTTEMPLATE bayrağı bayrak üyesinin ayarlanmadığı sürece bu üye yoksayılır.
lpCallback
Uygulama tanımlı geriçağırım nesne işaretçisi.

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.

nPropertyPages
LphPropertyPages dizi özellik sayfası işleyicilerin sayısını belirtir.
lphPropertyPages
Özellik sayfası kolları yazdırma özellik sayfasına eklemek için bir dizi içerir. Ek özellik sayfalarına Genel sayfa izleyin. Kullanım bu ek sayfalar oluşturmak için CreatePropertySheetPage işlevi. NPropertyPages sıfır ise, lphPropertyPages null olmalıdır.
nStartPage
Başlangıçta görüntülenen özellik sayfasını belirtir. Genel sayfasını görüntülemek için start_page_general belirtin. Aksi takdirde, belirlenen lphPropertyPages üyesi dizideki sıfır tabanlı dizin özellik sayfası belirtin. Tutarlılık sağlamak için bu özellik sayfası Genel sayfasında her zaman başlatılması önerilir.
dwResultAction
Giriş Bu üye sıfır olarak ayarlayın. PrintDlgEx işlev s_ok döndürür, dwResultAction iletişim sonucunu içerir. PrintDlgEx hata döndürürse, bu üyeyi göz ardı edilmemelidir. DwResultAction üye aşağıdaki değerlerden biri olabilir.
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.

Açıklamalar

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.

QuickInfo

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.

Ayrıca bkz:

Common Dialog Box Library Overview, Common Dialog Box Structures, CreateDC, CreateIC, CreatePropertySheetPage, DEVMODE, DEVNAMES, IObjectWithSite, IPrintDialogCallback, IPrintDialogServices, PrintDlgEx

Index