我用CommonDialog控件或comdlg32.dll类型库显示出来打印对话框,但不知怎样才能把文档打向在对话框中选择的打印机而不是默认打印机(我不想改变系统的默认打印)?现在我只能把文档打印向系统默认的打印机,或当CommonDialog选择了一个打印机后系统原来的默认打印机就变了。
请教高手。

解决方案 »

  1.   

    有一段代码
    你可以参考一下:Private Sub Command1_Click()
        If List1.ListIndex >= 0 Then
            '设定默认打印机:
             Set Printer = Printers(List1.ListIndex)
             Command1.Caption = Printer.DeviceName
        End If
    End SubPrivate Sub Form_Load()
        If Printers.Count < 1 Then
            MsgBox "系统没有安装打印机!", vbCritical, App.Title
            Unload Me
            Exit Sub
        Else
        
            Dim Prns As Printer
            For Each Prns In Printers
                List1.AddItem Prns.DeviceName
            Next
            List1.ListIndex = -1
        End If
    End Sub'下面代码用来修改打印方向
    'Printer.Orientation=VbPRORPortrait   '纵向打印( =1)
    'Printer.Orientation=VbPRORLandscape  '横向打印( =2)
      

  2.   

    xayzmb(行者):
    我是不想改变系统原来的默认打印机,只是本程序里这次打印用选择的这个打印机来打印本次内容,
    你的以下代码就改变系统的默认打印机了。
    '设定默认打印机:
             Set Printer = Printers(List1.ListIndex)不有一个问题要请教大家,我是引用的comdlg32.dll库,我想取得在打印对话框中选择了的打印机是哪一个?
      

  3.   

    还有一个问题要请教大家,我是引用的comdlg32.dll库,我想取得在打印对话框中选择了的打印机是哪一个?
    怎么办?