ID Artikel: 322710 - Kajian Terakhir: 26 September 2011 - Revisi: 2.0

CARA: Meningkatkan dan kotak-kotak Dialog cetak kontrol dari Visual Basic

Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.

Pada Halaman ini

Perbesar semua | Perkecil semua

RINGKASAN

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 fileUkuran
Vbprndlg.dll100.0 KB
Vbprndlg.Exp1.0 KB
Vbprndlg.lib1,72 KB
Vbprndlg.DEP118 Byte
Readme.txt10.9 KB


Menginstal Vbprndlg.exe

  1. 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.
  2. Klik Mulai, lalu klik Menjalankan.
  3. 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:
  1. Di Microsoft Visual Basic, membuat baru Standard EXE proyek. Secara default, Form1 dibuat.
  2. Pada Project menu, klik Referensi.
  3. Pilih Microsoft VB Printer Dialog(PSS), kemudian klik Oke.
  4. Tambahkan CommandButton mengendalikan ke bentuk. Secara default, Command1 dibuat.
  5. Klik dua kali Command1.
  6. 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
    					
  7. Tekan tombol F5 untuk memulai debug dan untuk mulai aplikasi. Klik Command1 untuk membuka Mencetak kotak dialog.
  8. 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 "'**".

REFERENSI

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

Berlaku bagi:
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
Kata kunci: 
kbdownload kbcmndlgprint kbfile kbhowto kbhowtomaster kbsample kbmt KB322710 KbMtid
Penerjemahan MesinPenerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:322710  (http://support.microsoft.com/kb/322710/en-us/ )