编程学习biancheng.45soft.com 本站提供了各种在线教程和资料,供大家学习与参考.
编程学习
当前位置: 主页 > VB6 > 界面设计 > VB6 界面设计 打印对话框

VB6 界面设计 打印对话框

“打印”对话框形式如图


打印对话框_界面设计_VB6

“打印”对话框并不能处理打印工作,仅仅是一个供用户选择打印参数的界面,所选参数存于各个属性中,再用编程来处理打印操作。


属性

FromPage:起始页号

ToPage:终止页号

要使用这两个属性,必须把对话框的Flags属性设置为2。

Copies:打印份数,整型值。

如果把对话框的Flags属性设置为262144,则Copies属性值总是1。

hdc :分配给打印机的句柄,用来识别对象的设备环境,用于api函数调用。属性窗口不可见(只读属性)。

例如:

CommonDialog1.ShowPrinter
Print CommonDialog1.hDC

如果打印驱动程序不支持多份打印,该属性有可能始终返回 1。


[例8.4] 打印文本框中的内容或一个文本文件。

Option Explicit
Private string1 As String  '用于保存文本框内的初始内容
Private Sub Command1_Click()
    Dim i%, inputdata As String
    CommonDialog1.CancelError = False
    On Error GoTo hand
    If Option1.Value Then  '打印文本框内容
        Text1.Text = string1
        CommonDialog1.ShowPrinter() '显示打印对话框
        Printer.FontName = "隶书"   '用18号斜体隶书打印文本框内容
        Printer.FontSize = 18
        Printer.FontItalic = True
        For i = 1 To CommonDialog1.Copies
            Printer.Print(Text1.Text)
        Next i
        Printer.EndDoc()
        Printer.FontName = "宋体"   '恢复原始值
        Printer.FontSize = 9
        Printer.FontItalic = False
    End If
    If Option2.Value Then  '打印选定的文本文件内容
        CommonDialog1.ShowPrinter()
        CommonDialog1.InitDir = App.Path
        CommonDialog1.Filter = "工程文件|*.vbp|窗体文件|*.frm|文本文件|*.txt"
        CommonDialog1.ShowOpen()
        Text1.Text = ""
        For i = 1 To CommonDialog1.Copies
     Open CommonDialog1.FileName For Input As #1
            Do While Not EOF(1)
       Line Input #1, inputdata  '读出的一行的内容,但不包括回车换行
                Text1 = Text1 & inputdata & vbCrLf
                Printer.Print(inputdata) '放到循环外面?
            Loop
       Close #1
        Next i
        Printer.EndDoc()
    End If
    Exit Sub
hand:
End Sub

Private Sub Command2_Click()
    End
End Sub

Private Sub Form_Load()
    Form2.Caption = "打印对话框示例"
    Text1.Text = "将数据从打印机上打印出来,有两种不同的方式:" + Chr(13) + Chr(10) _
    & " 1.直接将数据送打印机上;" + Chr(13) + Chr(10) & " 2.先将打印数据送到窗体上面,然后" _
    & "将窗体打印出来。直接送打印机语法为:" + Chr(13) + Chr(10) _
    & "[Object.][Print[{Spc(n)|Tab(n)}][expressionlist]{;|,}]" + Chr(13) + Chr(10) _
    & "  VB用Printer对象来代表系统目前所安装的打印机,VB并不操心到底是哪一种打印机" _
    & "或需要哪一种驱动程序,因为Windows系统已经包办了一切。" + Chr(13) + Chr(10) _
    & "  打印机对象也有currenX和currentY两项属性,因此打印起点设置也非常容易。" _
    & "要换页打印可运行NewPage方法,要结束打印使用EndDoc方法。"
    string1 = Text1.Text
    Option1.Caption = "打印文本框内容"
    Option2.Caption = "打印文本文件"
    Command1.Caption = "确定"
    Frame1.Caption = ""
    Option1.Value = True  '缺省选择打印文本框
    Command2.TabIndex = 0  '缺省焦点
End Sub



编程学习 VB6 界面设计 打印对话框 转载请保留此行.谢谢.

VB6