PRINTDLG

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 

 

Üyeler

lStructSize
Yapısı boyutunu bayt cinsinden belirtir.
hwndOwner
İletişim kutusu sahibi pencereyi tanımlar. Herhangi bir geçerli pencere tanıtıcısı bu üye olabilir ya da iletişim kutusunda Hayır sahibi varsa boş olabilir.
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. PrintDlg işlevi, denetimler iletişim kutusunda giriş datato başlatma kullanır. PrintDlg döndürür, devmode üye kullanıcı girişi belirtiniz.

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
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. PrintDlg işlevi, denetimler iletişim kutusunda giriş datato başlatma kullanır. devnames üyeleri, PrintDlg 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, 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.

hDC
Bir aygıt içerik veya bağlı olup bayrakları üye pd_returndc ya da PC_RETURNIC bayrağı belirtir bir bilgi içeriği tanımlar. Ne bayrağı belirtilmişse, Bu üyenin değeri tanımsız. Her iki bayrak belirtilmezse, pd_returndc önceliğe sahiptir.
Bayraklar
Yazdır ortak iletişim kutusu başlatmak için kullanabileceğiniz bir bit bayrağı kümesidir. İletişim kutusu döndüğünde, 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 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 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.


nFromPage
Başlangıç sayfa düzenleme denetimi başlangıç değerini belirtir.

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.

nToPage
Bitiş sayfası düzenleme denetimi başlangıç değerini belirtir.

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.

nMinPage
İlk ve son sayfa düzenleme denetimleri belirtilen sayfa aralığının en düşük değeri belirtir. NMinPage nMaxPage' e eşitse, sayfalar radyo düğmesini ve başlangıç ve bitiş sayfa düzenleme denetimleri devre.
nMaxPage
Sayfa aralığındaki ilk ve son sayfa düzenleme denetimleri belirtilen maksimum değerini belirtir.
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. PrintDlg döndüğünde nCopies yazdırılacak 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
Bayrakları üye PD_ENABLEPRINTTEMPLATE ya da pd_enablesetuptemplate bayrağı ayarlanmışsa, HINSTANCE uygulamanın veya lpPrintTemplateName veya lpSetupTemplateName üye tarafından adlı iletişim kutusunda şablonu içeren modül örneğinin kolu olduğunu.
lCustData
Sistem lpfnPrintHook ya da lpfnSetupHook üye tarafından tespit kancası yordamı geçirir, uygulama tanımlı veri belirtir. Sistem kancası yordamı WM_INITDIALOG ileti gönderdiğinde, ileti lParam parametresinin PRINTDLG yapısı için işaretçi iletişim oluşturulduğu belirtilen olduğunu. LCustData değerini almak için bu işaretçi kancası yordamı kullanabilirsiniz.
lpfnPrintHook
İşaretçi bir PrintHookProc için Yazdır iletişim kutusunda amaçlanan iletileri işleme yordamı kanca. PD_ENABLEPRINTHOOK bayrağı bayrak üyesinin ayarlanmadığı sürece bu üye yoksayılır.
lpfnSetupHook
İşaretçi bir SetupHookProc yordamı Yazdırma ayarı iletişim kutusundaki amaçlanan iletileri kanca. pd_enablesetuphook bayrağı bayrak üyesinin ayarlanmadığı sürece bu üye yoksayılı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 şablon, varsayılan yazdırma iletişim kutusunda şablonu değiştirir. PD_ENABLEPRINTTEMPLATE bayrağı bayrak üyesinin ayarlanmadığı sürece bu üye yoksayılır.
lpSetupTemplateName
HINSTANCE üye tarafından tanımlanan modül iletişim kutusunda şablon kaynak adları boşlukla sonlandırılmış dize işaretçisi. Bu şablon, varsayılan Yazdırma ayarları iletişim kutusunda şablonu değiştirir. pd_enablesetuptemplate bayrağı bayrak üyesinin ayarlanmadığı sürece bu üye yoksayılır.
hPrintTemplate
Bayrakları üye PD_ENABLEPRINTTEMPLATEHANDLE bayrağı ayarlı ise, hPrintTemplate tanıtıcı iletişim kutusunda şablon içeren bellek nesnesi değil. Bu şablonu varsayılan yazdırma iletişim kutusunda şablon yerini alır.
hSetupTemplate
Bayrakları üye pd_enablesetuptemplatehandle bayrağı ayarlı ise, hSetupTemplate tanıtıcı iletişim kutusunda şablon içeren bellek nesnesi değil. Bu şablonu varsayılan Yazdırma ayarları iletişim kutusunda şablon yerini alır.

Açıklamalar

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.

QuickInfo

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.

Ayrıca bkz:

Ortak iletişim kutusuna kitaplığın genel bakış, ortak iletişim kutusu yapıları, CreateDC, CreateIC, PrintDlg, devmode, devnames, WM_INITDIALOG

Index