Yazdır iletişim kutusu

Yazdır iletişim kutusunda belirli bir yazdırma işi seçeneklerini seçin sağlar. Örneğin, kullanıcı yazıcıyı kullanmak için yazdırılacak sayfa aralığını ve kopya sayısını belirleyebilirsiniz.

Windows NT 5.0 ve sonraki sürümleri: Denetimler Yazdır iletişim kutusuna benzer içeren Genel bir sayfa olan bir yazdırma özellik sayfasınıgörüntülemek için PrintDlgEx işlevini kullanabilirsiniz. Özellik sayfası Ayrıca, Genel sayfa aşağıdaki ek uygulama ve sürücü özgü özellik sayfaları sağlayabilirsiniz.

Oluşturur ve bir PRINTDLG yapısı başlatılıyor ve yapısı PrintDlg işlevine bir Yazdır iletişim kutusunu görüntüler.

Normal yazdırma iletişim kutusu aşağıda gösterilmiştir.

Kullanycy ok dü?mesini tyklady?ynda, PrintDlg true döner ve PRINTDLG yapısı kullanıcının seçimler hakkında bilgi döndürmek için kullanır. Örneğin, hDevMode ve hDevNames üyeleri genellikle küresel bellek tutamaçlarını geri devmode ve devnames yapılar. Seçili yazıcı için bir aygıt içerik veya bilgi içeriği oluşturmak için bu yapılar içinde bilgileri kullanabilirsiniz.

PrintDlg , kullanıcı Yazdır iletişim kutusunda İptal veya bir hata oluşursa false döner. Genişletilmiş hata değerini almak için CommDlgExtendedError işlevini kullanarak hata nedenini belirleyebilirsiniz.

Yazdır iletişim kutusundan Yazdırma aralığı Grup kullanıcının tüm sayfalar, sayfa aralığı veya yalnızca seçili metni yazdırma istediği olup olmadığını gösteren radyo düğmesi içerir. PrintDlgçağırmadan önce hangi düğme seçili başlangıçta belirtmek için pd_allpages, PD_SELECTION ya da pd_pagenums bayraklardan birini ayarlayabilirsiniz. PrintDlg true döner, işlev kullanıcı seçimleri belirtmek için bu bayraklar birini ayarlar. pd_pagenums ayarlanmışsa, nFromPage ve nToPage üyeleri PRINTDLG yapısı, başlangıç ve bitiş sayfalarını kullanıcı tarafından belirtilen içerir. Sayfaları radyo düğmesi ve ilişkili gelen ve düzenleme denetimleri devre dışı bırakmak için pd_nopagenums bayrağını ayarlayın. Seçim radyo düğmesi devre dışı bırakmak için PD_NOSELECTION bayrağını ayarlayın.

İletişim kutusu, kullanıcı yazdırılacak kopya sayısını yazabileceğiniz bir düzenleme denetimi içerir. PRINTDLG yapısı hDevMode üyesi olmayan-null ise dmCopies üyesi devmode yapısını bu düzenleme denetimi için başlangıç değerini belirtir. HDevMode null ise, PRINTDLG yapısı nCopies üyesi başlangıç değeri belirtir. PrintDlg döndüğünde, nCopies genel olarak kullanıcı tarafından belirtilen kopya sayısını gösterir. Ancak, iletişim kutusu oluşturduğunuzda PD_USEDEVMODECOPIESANDCOLLATE bayrağı ayarlarsanız, nCopies her zaman 1 olarak dönüş ayarlanır ve devmode dmCopies üyesi yazdırılacak kopya sayısını gösterir.

Harmanla onay kutusunu, kullanıcının birden çok kopya yazdırılır, sayfaları harmanlamayı istediği olup olmadığını gösterir. Harmanla onay kutusu işaretliyse pd_collate bayrağı ayarlandı. Uygulama, birden çok kopya veya simüle harmanlama desteklemiyorsa, PRINTDLG yapısını bayrakları üyesi PD_USEDEVMODECOPIESANDCOLLATE bayrağını ayarlayın. Bu Harmanla onay kutusunu devre dışı bırakır ve Sayı kopyalarını düzenleme denetimi sürece birden çok kopya ve harmanlama yazıcı sürücüsünü destekler.

Dosyaya Yazdır onay kutusunun, kullanıcı çıkışı yazıcı yerine bir dosyaya göndermek istiyor olup olmadığını gösterir. Böylece onay kutusunun başlangıçta denetlenir PD_PRINTTOFILE bayrağı ayarlayabilirsiniz. Onay kutusunu gizlemek için PD_HIDEPRINTTOFILE bayrağını ayarlayın. Devre dışı bırakmak için PD_DISABLEPRINTTOFILE bayrağını ayarlayın. Kullanıcı Dosyaya Yazdır seçeneği seçerse, PrintDlg PD_PRINTTOFILE bayrağını ayarlar ve döner "dosyası:", devnames yapısı wOutputOffset üye tarafından belirtilen uzaklık. 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.

Varsayılan olarak, Yazdır iletişim kutusunda başlangıçta geçerli varsayılan yazıcı bilgilerini görüntüler. Başlatarak başka yüklü yazıcı bilgilerini görüntülemek üzere yönlendirebilirsiniz bir devmode veya devnames yapısı ve küresel bellek atama işlemek için hDevMode veya hDevNames üye yapısı. devmode yapısının dmDeviceName üyesinin veya devnames yapısı wDriverOffset üyesi belirttiğiniz aygıt adı, bir yazıcı aygıtını WIN [Devices] bölümünde listelenen tanımlamanız gerekir.INI dosyası. Aygıt listede yoksa, PrintDlg bir hata döndürür.

PRINTDLG yapısı bayrakları üyesi pd_returndc ya da PD_RETURNIC bayrağı ayarlayarak yazıcı için bir aygıt içerik veya bilgi içeriği oluşturmak için PrintDlg yönlendirebilirsiniz. İşlev, hDC üye için aygıt içerik veya bilgi içeriği tanıtıcı verir. pd_returndc bayrağı kullanırsanız, yazıcının çıkış oluşturmak için aygıt içeriği kullanabilirsiniz.

Yazdır iletişim kutusu görüntülenmeden varsayılan yazıcı hakkında bilgi almak için pd_returndefault bayrağı ayarlayın. Bu durumda hemen hDevMode ve hDevNames üyeleri için kolları bilgileri içeren yapılar için ayarladıktan sonra PrintDlg döndürür.

Hatalar oluştuğunda, varsayılan olarak ileti kutuları PrintDlg görüntüler. Yüklü yazıcı yok Örneğin, işlevi bir hata iletisi görüntüler. İşlev bu uyarı iletilerinin görüntülenmesini engellemek için PD_NOWARNING bayrağını ayarlayın.

Index