Vbprndlg.dll dosya,
Yazdır iletişim kutusu bölümünü Visual Basic
CommonDialog denetim yerine kullanabilirsiniz. Bu dosya özellikleri sunar ve
CommonDialog denetimi yapan işlevselliği sağlar.
Visual Basic'te
CommonDialog denetim
Yazdır iletişim kutusunun görüntülenmesine izin verir, ancak bu erişim
Yazdır</a1> iletişim kutusunda ayarlayın ve
Yazıcı nesnesi tarafından tüketilen özelliklerinin çoğu vermez. Yapılarına hizalama sorunları nedeniyle (diğer bir deyişle, kullanıcı tanımlı türler) Win32 uygulama programlama arabirimi (API) işlevlerini Visual Basic'den yapıldığında, güvenilir bir şekilde ek bilgi bu API çağrıları kullanılarak elde edemiyor. Bu makalede, geçici bir çözüm olarak,
Yazıcı bölümü
CommonDialog denetim yerine kullanabileceğiniz bir DLL sağlar.
Denetimin karşıdan yükleyin.
Aşağıdaki dosya Microsoft Yükleme Merkezi'nden yüklenebilir:
Vbprndlg.exe
(http://download.microsoft.com/download//vb60pro/utility/1.0/win98mexp/en-us/vbprndlg.exe)
Yayım Tarihi: Eyl 30-2002
Microsoft destek dosyalarını karşıdan yükleme konusunda ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
119591
(http://support.microsoft.com/kb/119591/EN-US/
)
Microsoft Destek Dosyaları Çevrimiçi Hizmetler'den Nasıl Alınır
Microsoft bu dosyada virüs taraması yapmıştır. Microsoft, dosyanın kullanıma sunulduğu tarihteki en güncel virüs tarama yazılımını kullanmıştır. Dosya, üzerinde herhangi bir yetkisiz değişiklik yapılmasını engellemeye yardım eden geliştirilmiş güvenliğe sahip sunucularda depolanır. Vbprndlg.exe dosyası aşağıdaki dosyaları içerir:
Bu tabloyu kapaBu tabloyu aç
| Dosya Adı | Boyut |
|---|
| Vbprndlg.dll | 100.0 kb |
| Vbprndlg.Exp | 1.0 kb |
| Vbprndlg.lib | 1.72 kb |
| Vbprndlg.DEP | 118 Bayt |
| Readme.txt | 10,9 kb |
Vbprndlg.exe yükleyin.
- Bir konuma, silinmez ve basit bir yolu olan dosyaları ayıklar. Bu tür dosyaları, genellikle Windows System32 dizininde veya Winnt) dizinine yerleştirilir.
- Başlat ' ı tıklatın ve sonra da <a2>Çalıştır</a2>'ı tıklatın.
- Şu komutu yazın ve Tamam ' ı tıklatın:
RegSvr32 C:\Windows\System32\VBPrnDlg.dll
Bu komut, ikinci bölümü dll DOSYASıNıN asıl tam yolunu kullandığınızdan emin olun.
DLL başarıyla kayıtlı bir ileti alırsınız.
Printerdlg sınıfı belgeleri
Bu DLL Visual Basic uygulaması başvuru olarak eklenen bir COM bileşenidir. DLL'i ekledikten sonra bu kod <a0>
Yazdır</a0> iletişim kutusunu görüntülemek için ve kullanıcının seçtiği bilgileri almak için kullanabilirsiniz. Bu davranış
CommonDialog denetiminde Visual Basic'te <a1>
Yazdır</a1> iletişim kutusunun davranışı ile aynıdır.
Iletişim kutusu özellikleri
Bu özelliklerden herhangi biri hakkında daha fazla belge için
CommonDialog denetimi ile ilgili belgelere bakın.
Printer.hdc salt okunur durumdadır, ancak, aşağıdaki sözdizimini kullandığınızda, yıldız işareti (*) ile işaretli doğrudan
Yazıcı eşleme dışında tüm aşağıdaki özellikleri nesne:
Printer.Copies = printDlg.Copies
- Kopya
- Yönlendirme
- ColorMode
- DriverName
- Çift yönlü
- PaperBin
- Kağıt boyutu
- Bağlantı noktası
- PrintQuality
- hDC
- YazıcıAdı *
- Dakika *
- Mak *
- FromPage *
- ToPage *
YazıcıAdıAygıtAdı için
Yazıcı nesnesinde eşleştirir. Yıldız işareti ile işaretlenen son dört özelliklerini (*) bir alt kümesini kullanılabilir sayfaların yazdırılması gerekir, belirlemek için kullanılır. <a0>
Yazdır</a0> iletişim kutusunun
Sayfa Seç bölümüne etkinleştirmek için <a0></a0>,
en büyük bir sayıya ayarlanmalıdır
Min büyük. Iletişim kutusu görüntülendiğinde,
EnAzEnÇok ' den daha büyükse, hata oluşur. Kullanıcı alt seçerse,
Min ve
Mak sınırları içinde olduğu ve
FromPage ve
ToPage özelliklerinde döndürülen
PrinterDlg nesne kesinleştirir. Bu özellikler iletişim kutusunu yükseltir ve yazdırmayı denetleyen programı işlemesi için bu özellikleri doğrudan
Yazıcı nesnesi, eşleme değil.
Iletişim denetim yöntemleri ve özellikleri
- Bayrakları - Bu, Flags özelliği CommonDialog denetimi ile aynı. Bazı özellikler iletişim kutusunun denetler. Bu değer kullanılarak ayarlanır "veya" VBPrinterConstants, farklı bir sabit ile yapılandırın. Örneğin:
printDlg.Flags = VBPrinterConstants.cdlPDDisablePrintToFile _
Or VBPrinterConstants.cdlPDNoPageNums
Bu sabitler:
Constant Value Description
---------------------------------------------------------------------------
cdlPDAllPages &H0 Returns or sets the state of the All
Pages option button.
cdlPDCollate &H10 Returns or sets the state of the
Collate check box.
cdlPDDisablePrintToFile &H80000 Disables the Print To File check box.
cdlPDHelpButton &H800 Causes the dialog box to display the
Help button.
cdlPDHidePrintToFile &H100000 Hides the Print To File check box.
cdlPDNoPageNums &H8 Disables the Pages option button and
the associated edit control.
cdlPDNoSelection &H4 Disables the Selection option button.
cdlPDNoWarning &H80 Prevents a warning message from being
displayed when there is no default
printer.
cdlPDPageNums &H2 Returns or sets the state of the
Pages option button.
cdlPDPrintSetup &H40 Causes the system to display the
Print Setup dialog box instead of
the Print dialog box.
cdlPDPrintToFile &H20 Returns or sets the state of the
Print To File check box.
cdlPDReturnDC &H100 Returns a device context for the
printer selection made in the dialog
box. The device context is returned
in the hDC property of the dialog
box.
cdlPDReturnDefault &H400 Returns the default printer name.
cdlPDReturnIC &H200 Returns an information context for
the printer selection made in the
dialog box. An information context
provides a fast way to get
information about the device without
creating a device context. The
information context is returned in
the hDC property of the dialog box.
cdlPDSelection &H1 Returns or sets the state of the
Selection option button. If neither
cdlPDPageNums nor cdlPDSelection is
specified, the All option button is
in the selected state.
cdlPDUseDevModeCopies &H40000 If a printer driver does not support
multiple copies, setting this flag
disables the Number of Copies spinner
control in the Print dialog box. If a
driver does support multiple copies,
setting this flag indicates that the
dialog box stores the requested
number of copies in the Copies
property.
Flags özelliği kullanıcının dosyaya yazdırma gibi bir alan seçtiyseniz, belirlemek için kullanabilirsiniz. Bunu yapmak için <a0></a0>, denetim iletişim kutusu görüntülemesini döndürdü, cdlPDPrintToFile bayrağı ayarlandı, bakar.
- CancelError - bu kullanıcı iptal tıklatırsa programın bir hata döndürülür olup olmadığını belirleyen bir Boolean bayrağı bağlıdır. Kullanıcı iptal tıklatırsa bir hata oluşmaz; böylece varsayılan olarak, false, budur. Kullanıcı tıklattığında 32755 hata numarasını (& H7FF3) true olarak ayarlandığında, oluşuyorIptal etmek. Kullanıcı iletişim kutusunu iptal eder, bir servis talebini işlemek için bu hata yakalayabilirsiniz.
- ShowPrinter - bu bu sınıftaki yalnızca yöntemidir. Bu yöntemi çağırmadan iletişim kutusunu görüntüler. Bu arama pencerenin tanıtıcı parametre olarak kabul eder. Örneğin, aşağıdaki yöntemi, bir Boole değeri döndürür:
printDlg.ShowPrinter Me.hWnd
bu yoksayıldı. Değer TRUE ise (yani, kullanıcı iptal tıklattığında) kullanıcı yazdırma ve yanlış yoksa tıklatır.
Not: Bu tüm örneklerde
printDlg bu DLL dosyasında bulunan bir sınıf örneğidir. Aşağıdaki kodu kullanarak bildirildi:
Dim printDlg As PrinterDlg
Set printDlg = New PrinterDlg
Örnek oluşturma adımları
DLL, kullanıcının tercihleri belirleyin ve sonra bunları hata ayıklama penceresi için kullanacağı bir örnek uygulama oluşturmak için aşağıdaki adımları izleyin:
- Microsoft Visual Basic'te, yeni bir standart exe DOSYASı oluşturma proje. Varsayılan olarak, Form1 oluşturulur.
- Proje menüsünde Başvurular ' ı tıklatın.
- Microsoft VB yazıcı Dialog(PSS) seçin ve Tamam ' ı tıklatın.
- KomutDüğmesi denetimi forma ekleyin. Varsayılan olarak, Command1 oluşturulur.
- Command1</a1> çift tıklatın.
- Command1_Click olayda aşağıdaki kodu yapıştırın:
Dim printDlg As PrinterDlg
Set printDlg = New PrinterDlg
' Set the starting information for the dialog box based on the current
' printer settings.
printDlg.PrinterName = Printer.DeviceName
printDlg.DriverName = Printer.DriverName
printDlg.Port = Printer.Port
' Set the default PaperBin so that a valid value is returned even
' in the Cancel case.
printDlg.PaperBin = Printer.PaperBin
' Set the flags for the PrinterDlg object using the same flags as in the
' common dialog control. The structure starts with VBPrinterConstants.
printDlg.Flags = VBPrinterConstants.cdlPDNoSelection _
Or VBPrinterConstants.cdlPDNoPageNums _
Or VBPrinterConstants.cdlPDReturnDC
Printer.TrackDefault = False
' When CancelError is set to True the ShowPrinterDlg will return error
' 32755. You can handle the error to know when the Cancel button was
' clicked. Enable this by uncommenting the lines prefixed with "'**".
'**printDlg.CancelError = True
' Add error handling for Cancel.
'**On Error GoTo Cancel
If Not printDlg.ShowPrinter(Me.hWnd) Then
Debug.Print "Cancel Selected"
Exit Sub
End If
'Turn off Error Handling for Cancel.
'**On Error GoTo 0
Dim NewPrinterName As String
Dim objPrinter As Printer
Dim strsetting As String
' Locate the printer that the user selected in the Printers collection.
NewPrinterName = UCase$(printDlg.PrinterName)
If Printer.DeviceName <> NewPrinterName Then
For Each objPrinter In Printers
If UCase$(objPrinter.DeviceName) = NewPrinterName Then
Set Printer = objPrinter
End If
Next
End If
' Copy user input from the dialog box to the properties of the selected printer.
Printer.Copies = printDlg.Copies
Printer.Orientation = printDlg.Orientation
Printer.ColorMode = printDlg.ColorMode
Printer.Duplex = printDlg.Duplex
Printer.PaperBin = printDlg.PaperBin
Printer.PaperSize = printDlg.PaperSize
Printer.PrintQuality = printDlg.PrintQuality
' Display the results in the immediate (Debug) window.
' NOTE: Supported values for PaperBin and Size are printer specific. Some
' common defaults are defined in the Win32 SDK in MSDN and in Visual Basic.
' Print quality is the number of dots per inch.
With Printer
Debug.Print .DeviceName
If .Orientation = 1 Then
strsetting = "Portrait. "
Else
strsetting = "Landscape. "
End If
Debug.Print "Copies = " & .Copies, "Orientation = " & _
strsetting
If .ColorMode = 1 Then
strsetting = "Black and White. "
Else
strsetting = "Color. "
End If
Debug.Print "ColorMode = " & strsetting
If .Duplex = 1 Then
strsetting = "None. "
ElseIf .Duplex = 2 Then
strsetting = "Horizontal/Long Edge. "
ElseIf .Duplex = 3 Then
strsetting = "Vertical/Short Edge. "
Else
strsetting = "Unknown. "
End If
Debug.Print "Duplex = " & strsetting
Debug.Print "PaperBin = " & .PaperBin
Debug.Print "PaperSize = " & .PaperSize
Debug.Print "PrintQuality = " & .PrintQuality
If (printDlg.Flags And VBPrinterConstants.cdlPDPrintToFile) = _
VBPrinterConstants.cdlPDPrintToFile Then
Debug.Print "Print to File Selected"
Else
Debug.Print "Print to File Not Selected"
End If
Debug.Print "hDC = " & printDlg.hDC
End With
Exit Sub
'**Cancel:
'**If Err.Number = 32755 Then
'** Debug.Print "Cancel Selected"
'**Else
'** Debug.Print "A nonCancel Error Occured - "; Err.Number
'**End If
- Hata ayıklamayı başlatmayı ve uygulamayı başlatmak için F5 tuşuna basın. Command1 <a0>Yazdır</a0> iletişim kutusunu açmak için Ek Yardım düğmesini tıklatın.
- Iade edildiği çıkış sırasında <a1>Debug</a1> penceresinde, Yazdır iletişim kutusundan döndükten sonra bakın.
Not: belirli bir hata oluşturulur ve kullanıcı tıklattığında
iptal (benzer
CommonDialog denetimle ortaya çıkan davranış için) ele istiyorsanız, satırları ile öneki uncomment "' **".
Visual Basic'te Yazdır iletişim kutusunu kullanma hakkında ek bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
173981
(http://support.microsoft.com/kb/173981/EN-US/
)
SORUN: Davranışı değişiklikleri, farklı platformlarda Yazdır iletişim kutusu
Yazıcı ayarları hakkında ek bilgi için Microsoft Knowledge Base'deki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
190218
(http://support.microsoft.com/kb/190218/EN-US/
)
Nasıl YAPıLıR: Bir yazıcı sürücüsü ayarlarını al...
194789
(http://support.microsoft.com/kb/194789/EN-US/
)
Nasıl YAPıLıR: Kullanılabilir PaperBins DeviceCapabilities API ile belirlenir.