Anda dapat menggunakan berkas Vbprndlg.dll bukan
Mencetak bagian kotak dialog Visual Basic
CommonDialog kontrol. File ini memperlihatkan properti dan menyediakan fungsi
yang
CommonDialog kontrol tidak.
The
CommonDialog kontrol Visual Basic izin
Mencetak kotak dialog akan ditampilkan, tetapi tidak memberikan akses ke banyak
properti yang dapat diatur dalam
Mencetak kotak dialog dan dikonsumsi oleh
Printer objek. Karena dari kesejajaran masalah dengan struktur (itu adalah,
ditetapkan pengguna jenis) ketika antarmuka pemrograman aplikasi Win32 (API)
fungsi yang terbuat dari Visual Basic, Anda tidak dapat diandalkan memperoleh tambahan
informasi dengan menggunakan panggilan API ini. Sebagai solusi, artikel ini menyediakan
DLL yang Anda dapat menggunakan bukan
Printer sebagian
CommonDialog kontrol.
Men-download kontrol
Berikut
berkas ini tersedia untuk di-download dari Microsoft Download
Pusat:
Vbprndlg.exe
(http://download.microsoft.com/download//vb60pro/Utility/1.0/WIN98MeXP/EN-US/Vbprndlg.exe)
Tanggal Edaran:
September-30-2002
Untuk informasi tambahan tentang cara men-download
Berkas Dukungan Microsoft, klik nomor artikel di bawah ini untuk melihat artikel
pada Basis Pengetahuan Microsoft:
119591
(http://support.microsoft.com/kb/119591/EN-US/
)
Cara mendapatkan berkas Dukungan Microsoft dari Layanan Online
Microsoft telah memindai berkas ini dari virus. Microsoft digunakan paling
lunak pendeteksi virus terbaru yang tersedia pada tanggal yang file
telah diposting. Berkas tersebut disimpan pada server aman yang membantu
mencegah segala perubahan tidak sah terhadap berkas. Vbprndlg.exe file berisi file-file berikut:
Perkecil tabel iniPerbesar tabel ini
| Nama file | Ukuran |
|---|
| Vbprndlg.dll | 100.0 KB |
| Vbprndlg.Exp | 1.0 KB |
| Vbprndlg.lib | 1,72 KB |
| Vbprndlg.DEP | 118 Byte |
| Readme.txt | 10.9 KB |
Menginstal Vbprndlg.exe
- Ekstrak file ke lokasi yang tidak akan dihapus
dan yang memiliki jalur sederhana. File jenis ini biasanya diletakkan dalam
Direktori system32 Windows atau direktori Winnt.
- Klik Mulai, lalu klik Menjalankan.
- Ketik berikut, dan kemudian klik Oke:
RegSvr32 C:\Windows\System32\VBPrnDlg.dll
Pastikan bahwa Anda menggunakan jalur penuh sebenarnya untuk
DLL sebagai bagian kedua dari perintah ini.
Anda menerima pesan yang
DLL berhasil terdaftar.
Printerdlg kelas dokumentasi
DLL ini adalah komponen COM yang ditambahkan sebagai referensi untuk
Visual Basic aplikasi. Setelah Anda menambahkan DLL, Anda dapat menggunakannya dalam kode untuk
menampilkan
Mencetak kotak dialog dan untuk mengambil informasi yang pengguna memilih.
Perilaku ini adalah sama dengan perilaku
Mencetak kotak dialog di
CommonDialog kontrol Visual Basic.
Kotak dialog properti
Untuk dokumentasi tentang salah satu sifat-sifat ini, lihat
dokumentasi untuk
CommonDialog kontrol.
Printer.HDC ini hanya bisa dibaca, tapi semua properti berikut kecuali orang-orang yang
ditandai dengan tanda bintang (*) langsung peta ke
Printer objek bila Anda menggunakan sintaks berikut:
Printer.Copies = printDlg.Copies
- Salinan
- Orientasi
- ColorMode
- DriverName
- Duplex
- PaperBin
- PaperSize
- Pelabuhan
- PrintQuality
- hDC
- PrinterName *
- Min *
- Max *
- FromPage *
- ToPage *
PrinterName peta untuk
DeviceName dalam
Printer objek. Empat properti yang ditandai dengan tanda bintang
(*) digunakan untuk menentukan jika sekumpulan halaman tersedia harus dicetak.
Untuk mengaktifkan
Pilih halaman sebagian
Mencetak kotak dialog,
Max harus mengatur ke nomor yang lebih besar daripada
Min. Jika
Min lebih besar daripada
Max, kesalahan terjadi ketika kotak dialog muncul. Jika pengguna memilih
bagian,
PrinterDlg objek membuat yakin bahwa di dalam batas-batas
Min dan
Max, dan kembali pada
FromPage dan
ToPage properti. Properti ini tidak langsung peta ke
Printer objek, jadi program yang menimbulkan kotak dialog dan kontrol
Percetakan harus menangani properti ini.
Dialog kontrol metode dan properti
- Bendera -Ini adalah sama dengan Bendera properti pada CommonDialog kontrol. Mengontrol beberapa fitur kotak dialog. Ini
nilai diatur menggunakan "atau" dengan konstanta yang berbeda dalam VBPrinterConstants struktur. Misalnya:
printDlg.Flags = VBPrinterConstants.cdlPDDisablePrintToFile _
Or VBPrinterConstants.cdlPDNoPageNums
Konstanta ini adalah:
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.
Anda dapat menggunakan Bendera properti untuk menentukan jika pengguna memilih bidang seperti Mencetak ke File. Untuk melakukannya, lihat untuk melihat apakah cdlPDPrintToFile Bendera telah diatur ketika kontrol telah kembali dari menampilkan
kotak dialog.
- CancelError -Ini adalah bendera Boolean yang menentukan apakah kesalahan
kembali ke program jika pengguna mengklik Batalkan. Secara default, ini adalah palsu, jadi kesalahan tidak terjadi jika
Klik pengguna Batalkan. Ketika ini diatur ke True, nomor kesalahan 32755 (& H7FF3) terjadi
ketika pengguna mengklik Batalkan. Anda bisa menjebak kesalahan ini untuk menangani kasus di mana pengguna
membatalkan kotak dialog.
- ShowPrinter -Ini adalah satu-satunya metode di kelas ini. Memanggil metode ini
menampilkan kotak dialog. Ini menerima menangani panggilan jendela sebagai
parameter. Sebagai contoh, berikut metode mengembalikan Boolean:
printDlg.ShowPrinter Me.hWnd
Ini dapat diabaikan. Nilai adalah True jika pengguna mengklik Mencetak Palsu dan sebaliknya (itu adalah, jika pengguna mengklik Batalkan).
CATATAN: Dalam contoh ini,
printDlg adalah sebuah instance dari kelas yang terkandung dalam DLL ini. Itu
menyatakan dengan menggunakan kode berikut:
Dim printDlg As PrinterDlg
Set printDlg = New PrinterDlg
Langkah-langkah untuk membangun sampel
Untuk membuat contoh aplikasi yang akan menggunakan DLL untuk menentukan
preferensi pengguna dan kemudian menulis mereka untuk jendela Debug, ikuti
langkah-langkah:
- Di Microsoft Visual Basic, membuat baru Standard EXE
proyek. Secara default, Form1 dibuat.
- Pada Project menu, klik Referensi.
- Pilih Microsoft VB Printer Dialog(PSS),
kemudian klik Oke.
- Tambahkan CommandButton mengendalikan ke bentuk. Secara default, Command1 dibuat.
- Klik dua kali Command1.
- Paste kode berikut di Command1_Click acara:
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
- Tekan tombol F5 untuk memulai debug dan untuk mulai
aplikasi. Klik Command1 untuk membuka Mencetak kotak dialog.
- Setelah Anda kembali dari Mencetak kotak dialog, melihat pada jendela Debug output yang
kembali.
CATATAN: Jika Anda ingin kesalahan tertentu untuk dibesarkan dan ditangani ketika
Klik pengguna
Batalkan (mirip dengan perilaku yang terjadi dengan
CommonDialog kontrol), tanda komentar garis yang dimulai dengan "'**".
Untuk
informasi tambahan tentang penggunaan kotak dialog dalam Visual Basic, klik
nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
173981
(http://support.microsoft.com/kb/173981/EN-US/
)
PRB: Perbedaan perilaku Dialog cetak pada platform yang berbeda
Untuk
informasi tambahan tentang pengaturan printer, klik nomor artikel di bawah ini
untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
190218
(http://support.microsoft.com/kb/190218/EN-US/
)
HOWTO: Mengambil pengaturan dari pengandar Printer
194789
(http://support.microsoft.com/kb/194789/EN-US/
)
HOWTO: Menentukan tersedia PaperBins dengan DeviceCapabilities API