📄 frmtablebook.frm
字号:
Shape1.Left = lPage(0).Left + npos1
End Sub
Private Sub Lcaption_Click(Index As Integer)
lPage_Click Index
End Sub
Private Sub lPage_Click(Index As Integer)
If mintCurContents <> Index + 1 + VSpage.Value Then
mlngCurPage = Index + 1 + VSpage.Value
SetData
End If
Picpage.SetFocus
End Sub
Private Sub LSpliter_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 1 Then
ReleaseCapture
SetCapture Me.hwnd
mbResizeing = True
End If
End Sub
Private Sub mclsMainControl_ToolRefresh()
RefreshData
End Sub
Private Sub VScroll_Change()
PicPaper.top = -Screen.TwipsPerPixelY * VScroll.Value + 90
SetShapePos mlngCurPage
PicPaper.SetFocus
End Sub
Private Sub CmdCurPage_Click()
Dim frm As FrmCurrenPage
Set frm = New FrmCurrenPage
Dim i As Integer
Dim nHeight As Integer
nHeight = lPage(0).Height + Lcaption(0).Height + 90
i = Picpage.Height / nHeight
If i > 10 Then i = 10
mlngCurPage = frm.ShowFrmCurrenPage(mlngCurPage, mlngPages)
If mlngCurPage <= VSpage.Value Then
VSpage.Value = mlngCurPage - 1
SetPageContents VSpage.Value, mlngPages
ElseIf mlngCurPage > VSpage.Value + i Then
VSpage.Value = mlngCurPage - i
SetPageContents VSpage.Value, mlngPages
End If
Set frm = Nothing
SetData '设置数据
End Sub
Private Sub cmdFormatSet_Click()
Dim blnOK As Boolean
clsFset.GPaperBorder(6) = ABook.GutterLineWidth
clsFset.GetDefaultDateFromDB mclsTable.ReportID
blnOK = clsFset.ShowFrmFormatSet(1, mclsTable.ReportID, mlngCurPage, mlngPages)
If blnOK Then
GetDefaultSet clsFset
RefreshData
End If
cmdFormatSet.SetFocus
End Sub
Private Sub Form_Load()
Me.Hide
Me.Left = -30000
MsgForm.PleaseWait
mlngCurPage = 1 '设置当前页
mintCurContents = 1
CmdPaper.ToolTipText = "纸张大小:" & Int(PicPaper.Width / 56.7) & "毫米×" & Int(PicPaper.Height / 56.7) & "毫米"
ZoomIndex = 3
PaperWidth = PicPaper.Width
PaperHeight = PicPaper.Height
CmdZoom.ToolTipText = "当前放缩比:100%"
End Sub
Private Sub Form_Resize()
On Error Resume Next
Dim i As Integer
If Me.Width < lngFormWidth Then Me.Width = lngFormWidth
If Me.Height < lngFormHeight Then Me.Height = lngFormHeight
If (Me.Left + Me.Width < 0 Or Me.Left > Screen.Width) And mblnLoaded Then
Me.Left = 300
End If
vsPAcount.Width = ScaleWidth - VScroll.Width - vsPAcount.Left
vsPAcount.Height = ScaleHeight - HScroll.Height - vsPAcount.top
CmdSpliter.top = ScaleHeight - HScroll.Height
CmdCurPage.top = ScaleHeight - HScroll.Height
CmdZoom.top = ScaleHeight - HScroll.Height
CmdPaper.top = ScaleHeight - HScroll.Height
HScroll.top = ScaleHeight - HScroll.Height
HScroll.Width = vsPAcount.ScaleWidth - (CmdCurPage.Width - 15) * 3 - CmdSpliter.Width
VScroll.Height = vsPAcount.ScaleHeight - 4 * (CmdPage(0).Height - 15)
VScroll.Left = ScaleWidth - VScroll.Width
For i = 0 To 3
CmdPage(i).Left = VScroll.Left
CmdPage(i).top = VScroll.Height + VScroll.top + i * CmdPage(i).Height
Next
LSpliter.Height = Me.ScaleHeight
Picpage.Height = ScaleHeight - HSpage.Height - vsPAcount.top
HSpage.top = ScaleHeight - HSpage.Height
VSpage.Height = Picpage.Height
InitScrollbar
End Sub
Private Sub InitScrollbar()
Dim i As Integer
i = (PicPaper.ScaleWidth - vsPAcount.ScaleWidth + 180) / Screen.TwipsPerPixelX
If i > 0 Then
HScroll.Max = i
HScroll.Enabled = True
Else
HScroll.Enabled = False
PicPaper.Left = 0
VScroll.Value = 0
End If
i = (PicPaper.ScaleHeight - vsPAcount.ScaleHeight + 180) / Screen.TwipsPerPixelY
If i > 0 Then
VScroll.Max = i
VScroll.Enabled = True
Else
VScroll.Enabled = False
VScroll.Value = 0
PicPaper.top = 0
End If
SetShapePos mlngCurPage
End Sub
Private Sub CmdPage_Click(Index As Integer)
Dim i As Integer
Dim nHeight As Integer
nHeight = lPage(0).Height + Lcaption(0).Height + 90
i = Picpage.Height / nHeight
If i > 10 Then i = 10
If Index = 1 Then
If mlngCurPage > 1 Then
mlngCurPage = mlngCurPage - 1
If mlngCurPage <= VSpage.Value Then
VSpage.Value = VSpage.Value - 1
SetPageContents VSpage.Value, mlngPages
End If
SetData
End If
ElseIf Index = 2 Then
If mlngCurPage < mlngPages Then
mlngCurPage = mlngCurPage + 1
If mlngCurPage > VSpage.Value + i Then
VSpage.Value = VSpage.Value + 1
SetPageContents VSpage.Value, mlngPages
End If
SetData
End If
ElseIf Index = 0 Then
mlngCurPage = 1
VSpage.Value = 0
SetPageContents VSpage.Value, mlngPages
SetData
ElseIf Index = 3 Then
mlngCurPage = mlngPages
If mlngPages > i Then VSpage.Value = mlngPages - i
SetPageContents VSpage.Value, mlngPages
SetData
End If
End Sub
Private Sub endmenu()
Dim intCnt As Integer
With frmMain
For intCnt = .mnuListEditMenu.Count - 1 To 1 Step -1
Unload .mnuListEditMenu(intCnt)
Next
End With
End Sub
Private Sub InitMenu()
Dim intCnt As Integer
With frmMain
For intCnt = .mnuListEditMenu.Count - 1 To 1 Step -1
Unload .mnuListEditMenu(intCnt)
Next
.mnuListEditMenu(0).Caption = "30%"
.mnuListEditMenu(0).Checked = False
.mnuListEditMenu(0).Enabled = True
.mnuListEditMenu(0).Visible = True
Load .mnuListEditMenu(1)
.mnuListEditMenu(1).Caption = "50%"
.mnuListEditMenu(1).Enabled = True
.mnuListEditMenu(1).Checked = False
.mnuListEditMenu(1).Visible = True
Load .mnuListEditMenu(2)
.mnuListEditMenu(2).Caption = "75%"
.mnuListEditMenu(2).Enabled = True
.mnuListEditMenu(2).Checked = False
.mnuListEditMenu(2).Visible = True
Load .mnuListEditMenu(3)
.mnuListEditMenu(3).Caption = "100%"
.mnuListEditMenu(3).Enabled = True
.mnuListEditMenu(3).Checked = False
.mnuListEditMenu(3).Visible = True
Load .mnuListEditMenu(4)
.mnuListEditMenu(4).Caption = "120%"
.mnuListEditMenu(4).Enabled = True
.mnuListEditMenu(4).Checked = False
.mnuListEditMenu(4).Visible = True
Load .mnuListEditMenu(5)
.mnuListEditMenu(5).Caption = "150%"
.mnuListEditMenu(5).Enabled = True
.mnuListEditMenu(5).Checked = False
.mnuListEditMenu(5).Visible = True
Load .mnuListEditMenu(6)
.mnuListEditMenu(6).Caption = "200%"
.mnuListEditMenu(6).Enabled = True
.mnuListEditMenu(6).Checked = False
.mnuListEditMenu(6).Visible = True
Load .mnuListEditMenu(7)
.mnuListEditMenu(7).Checked = False
.mnuListEditMenu(7).Enabled = True
.mnuListEditMenu(7).Visible = True
.mnuListEditMenu(7).Caption = "-"
Load .mnuListEditMenu(8)
.mnuListEditMenu(8).Checked = False
.mnuListEditMenu(8).Enabled = True
.mnuListEditMenu(8).Caption = "页宽"
.mnuListEditMenu(8).Visible = True
Load .mnuListEditMenu(9)
.mnuListEditMenu(9).Checked = False
.mnuListEditMenu(9).Enabled = True
.mnuListEditMenu(9).Caption = "整页"
.mnuListEditMenu(ZoomIndex).Checked = True
.mnuListEditMenu(9).Visible = True
End With
End Sub
Private Sub mclsMainControl_ListEditMenu(ByVal intIndex As Integer)
Dim i As Long, j As Long
Select Case intIndex
Case 0
ABook.ZoomRate = 30
PicPaper.Height = PaperHeight * 30 / 100
PicPaper.Width = PaperWidth * 30 / 100
CmdZoom.ToolTipText = "当前放缩比:30%"
Case 1
ABook.ZoomRate = 50
PicPaper.Height = PaperHeight * 50 / 100
PicPaper.Width = PaperWidth * 50 / 100
CmdZoom.ToolTipText = "当前放缩比:50%"
Case 2
ABook.ZoomRate = 75
PicPaper.Height = PaperHeight * 75 / 100
PicPaper.Width = PaperWidth * 75 / 100
CmdZoom.ToolTipText = "当前放缩比:75%"
Case 3
ABook.ZoomRate = 100
PicPaper.Height = PaperHeight * 100 / 100
PicPaper.Width = PaperWidth * 100 / 100
CmdZoom.ToolTipText = "当前放缩比:100%"
Case 4
ABook.ZoomRate = 120
PicPaper.Height = PaperHeight * 120 / 100
PicPaper.Width = PaperWidth * 120 / 100
CmdZoom.ToolTipText = "当前放缩比:120%"
Case 5
ABook.ZoomRate = 150
PicPaper.Height = PaperHeight * 150 / 100
PicPaper.Width = PaperWidth * 150 / 100
CmdZoom.ToolTipText = "当前放缩比:150%"
Case 6
ABook.ZoomRate = 200
PicPaper.Height = PaperHeight * 200 / 100
PicPaper.Width = PaperWidth * 200 / 100
CmdZoom.ToolTipText = "当前放缩比:200%"
Case 8
i = vsPAcount.ScaleWidth * 100 / PaperWidth ' PicPaper.ScaleWidth
ABook.ZoomRate = i
PicPaper.Height = PaperHeight * i / 100
PicPaper.Width = PaperWidth * i / 100
CmdZoom.ToolTipText = "当前放缩比:页宽"
Case 9
i = vsPAcount.ScaleWidth * 100 / PaperWidth ' PicPaper.ScaleWidth
j = vsPAcount.ScaleHeight * 100 / PaperHeight ' PicPaper.ScaleHeight
If i > j Then i = j
ABook.ZoomRate = i
PicPaper.Height = PaperHeight * i / 100
PicPaper.Width = PaperWidth * i / 100
CmdZoom.ToolTipText = "当前放缩比:整页"
End Select
ZoomIndex = intIndex
ABook.Refresh
InitScrollbar
End Sub
Private Function GetZoomRate(ByVal Index As Integer) As Double
Dim i As Long, j As Long
Dim ret As Double
Select Case Index
Case 0
ret = 0.3
Case 1
ret = 0.5
Case 2
ret = 0.75
Case 3
ret = 1
Case 4
ret = 1.2
Case 5
ret = 1.5
Case 6
ret = 200
Case 8
i = vsPAcount.ScaleWidth * 100 / PaperWidth
ret = i / 100
Case 9
i = vsPAcount.ScaleWidth * 100 / PaperWidth
j = vsPAcount.ScaleHeight * 100 / PaperHeight
If i > j Then i = j
ret = i / 100
End Select
GetZoomRate = ret
End Function
Private Sub CheckPages(ByVal intTotalPage As Integer)
Dim i As Integer
Dim nHeight As Integer
lPage(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -