📄 打印页面设置.frm
字号:
Caption = "表格线输出间隔行数"
Height = 345
Left = 3090
TabIndex = 38
Top = 3510
Width = 1635
End
Begin VB.Label Bjjglabel
BackColor = &H00FFFFFF&
BorderStyle = 1 'Fixed Single
Height = 315
Left = 4740
TabIndex = 36
Top = 3000
Width = 1155
End
Begin VB.Label Label8
BackStyle = 0 'Transparent
Caption = "连续输出表表间间隔"
Height = 225
Left = 3090
TabIndex = 34
Top = 3060
Width = 1665
End
Begin VB.Label BbmcLabel
Height = 255
Left = 6330
TabIndex = 33
Top = 2580
Visible = 0 'False
Width = 795
End
End
Attribute VB_Name = "DY_Dyymsz"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'*******************************************************
'* 模 块 名 称 :打印页面设置
'* 功 能 描 述 :可以设置报表打印属性,并可保存设置
'*
'* 参数:系统打印报表编码
'*
'* 程序员姓名 :张建忠
'* 最后修改人 :张建忠
'* 最后修改时间:2001/06/21
'* 备 注:封版
'*******************************************************
Dim Dybbcsrec As New ADODB.Recordset
Dim changelock As Boolean
Dim Hfbbbtfont$, Hfbbbtsize$, Hfbbsjqfont$, Hfbbsjqsize$
Dim Hfzdmybbhs%, Hfsfzdbbhs%, Hfzdxwz%
Dim Hfsfmydy As Boolean, Hfsfdcybj As Boolean, Hfsfsckb As Boolean, Hfzdbbhs As Boolean
Dim Hfsflxdy As Boolean, Hfsftdfssc As Boolean
Dim Hfbjjg As Integer, Hfbxjg As Integer
Dim BcMarginleft As Double, BcMarginright As Double, BcMargintop As Double, BcMarginbottom As Double
Dim Tsxx As String
Dim XtReportCodete As String
Private Sub BbhsText_KeyPress(KeyAscii As Integer)
If Not ((Chr(KeyAscii) >= "0" And Chr(KeyAscii) <= "9") Or KeyAscii = vbKeyBack) Then
KeyAscii = 0
End If
End Sub
Private Sub Bbztcommand_Click() '设 置 标 题 字 体
With YmszDialog
.Flags = cdlCFBoth
.FontName = SjztLabel
.FontSize = Sjzhlabel
.ShowFont
SjztLabel = .FontName
Sjzhlabel = .FontSize
End With
End Sub
Private Sub BcCommand_Click() '保 存 用 户 打 印 设 置
If Dybbcsrec.State = 1 Then Dybbcsrec.Close
On Error GoTo Swcwcl
Cw_DataEnvi.DataConnect.BeginTrans
Dybbcsrec.Open "select * from xt_dybbcs where bbbm='" + XtReportCodete + "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
With Dybbcsrec
If Not (.EOF And .BOF) Then
'标题及数据区字体
.Fields("bbbtfont") = Trim(Btztlabel)
.Fields("bbbtsize") = Trim(Btzhlabel)
.Fields("bbsjqfont") = Trim(SjztLabel)
.Fields("bbsjqsize") = Trim(Sjzhlabel)
'指定每页报表数据行数
.Fields("zdmybbhs") = BbhsVScroll.Value
'装订线位置
For Jsqte = 0 To 2
If Zdoption(Jsqte).Value Then
.Fields("zdxwz") = Jsqte
End If
Next Jsqte
'输出方式
.Fields("sfmydy") = MydyCheck.Value
.Fields("sfdcybj") = BjdcCheck.Value
.Fields("sfsckb") = KbscCheck.Value
.Fields("sfzdbbhs") = ZdhsCheck.Value
.Fields("sfgdsc") = GdscCheck.Value
.Fields("sflxdy") = LxscCheck.Value
.Fields("sftdfssc") = TdfsCheck.Value
'连续输出表表间间隔
.Fields("bjjg") = BjjgVScroll.Value
'报表数据区表格线打印间隔行数
.Fields("bbbxjg") = BxjgVScroll.Value
'打印机设置
.Fields("papersize") = YmszPrinter.PaperSize
If YmszPrinter.PaperSize = 256 Then
.Fields("PaperWidth") = YmszPrinter.PaperWidth
.Fields("PaperHeight") = YmszPrinter.PaperHeight
End If
.Fields("paperscfx") = YmszPrinter.Orientation
.Fields("bbzbj") = BcMarginleft
.Fields("bbybj") = BcMarginright
.Fields("bbsbj") = BcMargintop
.Fields("bbxbj") = BcMarginbottom
.Update
End If
End With
Cw_DataEnvi.DataConnect.CommitTrans
Tsxx = "打印设置信息保存完毕!"
Call Xtxxts(Tsxx, 0, 4)
Exit Sub
Swcwcl:
Cw_DataEnvi.DataConnect.RollbackTrans
Tsxx = "存盘过程中出现未知错误,程序自动恢复保存前状态!"
Call Xtxxts(Tsxx, 0, 4)
Exit Sub
End Sub
Private Sub BjjgVScroll_Change() '设置表间间隔
Bjjglabel = BjjgVScroll.Value
End Sub
Private Sub BtztCommand_Click() '设置报表数据区字体
With YmszDialog
.Flags = cdlCFBoth
.FontName = Btztlabel
.FontSize = Btzhlabel
.ShowFont
Btztlabel = .FontName
Btzhlabel = .FontSize
End With
End Sub
Private Sub BxjgVScroll_Change()
BxjgLabel = BxjgVScroll.Value
End Sub
Private Sub Form_Activate() '保存现有设置值以便恢复
'标题及数据区字体
Hfbbbtfont = Btztlabel
Hfbbbtsize = Btzhlabel
Hfbbsjqfont = SjztLabel
Hfbbsjqsize = Sjzhlabel
'指定每页报表数据行数
Hfzdmybbhs = BbhsVScroll.Value
Hfsfzdbbhs = ZdhsCheck.Value
'装订线位置
For Jsqte = 0 To 2
If Zdoption(Jsqte).Value Then
Hfzdxwz = Jsqte
End If
Next Jsqte
'输出方式
If MydyCheck.Value = 1 Then
Hfsfmydy = True
Else
Hfsfmydy = False
End If
If BjdcCheck.Value = 1 Then
Hfsfdcybj = True
Else
Hfsfdcybj = False
End If
If KbscCheck.Value = 1 Then
Hfsfsckb = True
Else
Hfsfsckb = False
End If
If ZdhsCheck.Value = 1 Then
Hfzdbbhs = True
Else
Hfzdbbhs = False
End If
If LxscCheck.Value = 1 Then
Hfsflxdy = True
Else
Hfsflxdy = False
End If
If TdfsCheck.Value = 1 Then
Hfsftdfssc = True
Else
Hfsftdfssc = False
End If
'表间间隔
Hfbjjg = BjjgVScroll.Value
'表线间隔
Hfbxjg = BxjgLabel
'报表左、右、上、下边界
BcMarginleft = YmszPrinter.MarginLeft
BcMarginright = YmszPrinter.MarginRight
BcMargintop = YmszPrinter.MarginTop
BcMarginbottom = YmszPrinter.MarginBottom
End Sub
Private Sub Form_Load()
'读入系统打印报表编码
XtReportCodete = XtReportCode
Call Cshz
End Sub
Private Sub Cshz()
Set Dybbcsrec = Cw_DataEnvi.DataConnect.Execute("select * from xt_dybbcs where bbbm='" + XtReportCode + "'")
With Dybbcsrec
If Not (.EOF And .BOF) Then
'报表名称
BbmcLabel = Trim(.Fields("bbmc"))
'报表固定输出终止列
BbsclText.Text = .Fields("gdsczzl")
'标题及数据区字体
Btztlabel = Trim(.Fields("bbbtfont"))
Btzhlabel = Trim(.Fields("bbbtsize"))
SjztLabel = Trim(.Fields("bbsjqfont"))
Sjzhlabel = Trim(.Fields("bbsjqsize"))
'指定每页报表数据行数
changelock = True
BbhsVScroll.Max = 1
BbhsVScroll.Min = 32000
changelock = False
BbhsVScroll.Value = .Fields("zdmybbhs")
'装订线位置
Zdoption(.Fields("zdxwz")).Value = True
'输出方式
If .Fields("sfmydy") Then
MydyCheck.Value = 1
Else
MydyCheck.Value = 0
End If
If .Fields("sfdcybj") Then
BjdcCheck.Value = 1
Else
BjdcCheck.Value = 0
End If
If .Fields("sfsckb") Then
KbscCheck.Value = 1
Else
KbscCheck.Value = 0
End If
If .Fields("sfzdbbhs") Then
ZdhsCheck.Value = 1
Else
ZdhsCheck.Value = 0
End If
If .Fields("sfgdsc") Then
GdscCheck.Value = 1
Else
GdscCheck.Value = 0
End If
If .Fields("sflxdy") Then
LxscCheck.Value = 1
Else
LxscCheck.Value = 0
End If
If .Fields("sftdfssc") Then
TdfsCheck.Value = 1
Else
TdfsCheck.Value = 0
End If
'连续输出表表间间隔
BjjgVScroll.Max = 1
BjjgVScroll.Min = 50
BjjgVScroll.Value = .Fields("bjjg")
'报表数据区表格线打印间隔行数
BxjgVScroll.Value = .Fields("bbbxjg")
'打印机设置
YmszPrinter.PaperSize = .Fields("papersize")
If .Fields("papersize") = 256 And .Fields("PaperWidth") <> 0 And .Fields("PaperHeight") <> 0 Then
YmszPrinter.PaperWidth = .Fields("PaperWidth")
YmszPrinter.PaperHeight = .Fields("PaperHeight")
End If
YmszPrinter.Orientation = .Fields("paperscfx")
YmszPrinter.MarginLeft = .Fields("bbzbj")
YmszPrinter.MarginRight = .Fields("bbybj")
YmszPrinter.MarginTop = .Fields("bbsbj")
YmszPrinter.MarginBottom = .Fields("bbxbj")
End If
End With
End Sub
Private Sub BbhsVScroll_Change() '指定行数滚动条改变
If changelock Then
Exit Sub
End If
changelock = True
BbhsText.Text = Trim(Str(BbhsVScroll.Value))
changelock = False
End Sub
Private Sub BbhsText_change() '指定行数文本框改变
If changelock Then
Exit Sub
End If
If Val(BbhsText) <= BbhsVScroll.Min And Val(BbhsText) >= BbhsVScroll.Max Then
changelock = True
BbhsVScroll.Value = Val(BbhsText)
changelock = False
Else
changelock = True
BbhsVScroll.Value = 1
BbhsText.Text = 1
changelock = False
End If
End Sub
Private Sub JbszCommand_Click() '基 本 设 置
If YmszPrinter.NDevices <= 0 Then
Tsxx = "本机未安装任何打印机!"
Call Xtxxts(Tsxx, 0, 1)
Exit Sub
End If
YmszPrinter.MarginLeft = BcMarginleft
YmszPrinter.MarginRight = BcMarginright
YmszPrinter.MarginTop = BcMargintop
YmszPrinter.MarginBottom = BcMarginbottom
With YmszPrinter
.PrintDialog (pdPageSetup)
End With
BcMarginleft = YmszPrinter.MarginLeft
BcMarginright = YmszPrinter.MarginRight
BcMargintop = YmszPrinter.MarginTop
BcMarginbottom = YmszPrinter.MarginBottom
End Sub
Private Sub QdCommand_Click() '确 定
Me.Hide
End Sub
Private Sub QxCommand_Click() '取 消
'标题及数据区字体
Btztlabel = Hfbbbtfont
Btzhlabel = Hfbbbtsize
SjztLabel = Hfbbsjqfont
Sjzhlabel = Hfbbsjqsize
'指定每页报表数据行数
BbhsVScroll.Value = Hfzdmybbhs
ZdhsCheck.Value = Hfsfzdbbhs
'装订线位置
Zdoption(Hfzdxwz).Value = True
'输出方式
If Hfsfmydy Then
MydyCheck.Value = 1
Else
MydyCheck.Value = 0
End If
If Hfsfdcybj Then
BjdcCheck.Value = 1
Else
BjdcCheck.Value = 0
End If
If Hfsfsckb Then
KbscCheck.Value = 1
Else
KbscCheck.Value = 0
End If
If Hfzdbbhs Then
ZdhsCheck.Value = 1
Else
ZdhsCheck.Value = 0
End If
If Hfsflxdy Then
LxscCheck.Value = 1
Else
LxscCheck.Value = 0
End If
If Hfsftdfssc Then
TdfsCheck.Value = 1
Else
TdfsCheck.Value = 0
End If
BjjgVScroll.Value = Hfbjjg
BxjgVScroll.Value = Hfbxjg
Me.Hide
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -