⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmtablereport.frm

📁 金算盘软件代码
💻 FRM
📖 第 1 页 / 共 2 页
字号:
    blnIsOK = frmFormat.SetFormat(mclsTable)
    If blnIsOK Then RefreshData
End Sub

Private Sub cmdSave_Click()
 Dim mblnIsOk As Boolean
    GetColWidth
    mblnIsOk = mclsTable.SaveTable
    If mblnIsOk Then
        mclsFormCond.KeyID = mclsTable.ReportID
        mclsFormCond.UpdateCond
        Caption = "列表查询" & " - " & mclsTable.ReportName
        LblTitle.Caption = mclsTable.ReportName
        LblTitle.Left = (msgAccount.Width - LblTitle.Width) \ 2
    End If
End Sub

Private Sub Form_Activate()
    CallReportPopMenu
End Sub

Private Sub Form_Load()
   mblnHaveHead = True
'   CallReportPopMenu
End Sub

Private Sub cmdHide_Click()
    mblnHaveHead = Not mblnHaveHead
    If mblnHaveHead Then
        cmdHide.Caption = "隐藏标题(&H)"
    Else
        cmdHide.Caption = "显示标题(&I)"
    End If
    Form_Resize
End Sub


Private Sub Form_Unload(Cancel As Integer)
    Set mclsTable = Nothing
    Set mclsFormCond = Nothing
    gclsSys.MainControls.Remove Me
End Sub

Private Sub Form_Resize()
   msgAccount.Redraw = False
  
   If Me.WindowState = vbMinimized Then
       Exit Sub
   End If
   If Me.Width < lngFormWidth Then
       Me.Width = lngFormWidth
   End If

   If Me.Height < lngFormHeight Then
       Me.Height = lngFormHeight
   End If
   
   picAccount.Height = Me.Height - 1000
   picAccount.Width = Me.Width - 220
   LblShadow.Height = picAccount.Height
   LblShadow.Width = picAccount.Width
   msgAccount.Width = picAccount.Width - 450
 
   If mblnHaveHead Then
       msgAccount.top = lngAccountTop
       msgAccount.Height = Me.Height - 1600
       LblTitle.Visible = True
   Else
       msgAccount.top = lngAccountTop - 250
       msgAccount.Height = Me.Height - 1650 + 250
       LblTitle.Visible = False
   End If
   LblTitle.Left = (msgAccount.Width - LblTitle.Width) \ 2
   msgAccount.Redraw = True
End Sub


'重新得到列宽
Private Sub GetColWidth()
  Dim intCol  As Integer
    For intCol = 0 To msgAccount.Cols - 1
         mclsTable.ColumnWidth(intCol) = msgAccount.ColWidth(intCol)
    Next intCol
End Sub
'重新设置列宽
Private Sub ReSetColWidth()
  Dim intCol  As Integer
    For intCol = 0 To msgAccount.Cols - 1
         msgAccount.ColWidth(intCol) = mclsTable.ColumnWidth(intCol)
         msgAccount.FixedAlignment(intCol) = 4
    Next intCol
End Sub

'处理数据格式
 Private Sub DealFormat()
'   Dim intRow As Integer
'   Dim intCol As Integer
'   Dim intVisibleRow As Integer
'   Dim intEndRow As Integer
'
'   intVisibleRow = GetVisibleRow
'   With msgAccount
'        If .TopRow + intVisibleRow > .Rows - 1 Then
'          intEndRow = .Rows - 1
'        Else
'          intEndRow = .TopRow + intVisibleRow
'        End If
'   If mintMastDealRow <= intEndRow Then
'       .Redraw = False
'   For intRow = mintMastDealRow To intEndRow
'     For intCol = 0 To .Cols - 1
'      Select Case mclsTable.ColumnFieldType(intCol)
'      Case "Byte", "Integer", "Single", "Double", "Decimal", "Long", "Currency "
'     '数据格式的处理:是否除以1000,是否显示小数与是否显示零
'        If IsNumeric(.TextMatrix(intRow, intCol)) Or .TextMatrix(intRow, intCol) = "" Then
'            If mclsTable.Divide Then
'              .TextMatrix(intRow, intCol) = CStr(Val(.TextMatrix(intRow, intCol)) / 1000)
'            Else
'            End If
'            If mclsTable.ShowCent Then
'              .TextMatrix(intRow, intCol) = CStr(Format(.TextMatrix(intRow, intCol), "Standard"))
'            Else
'              .TextMatrix(intRow, intCol) = CStr(Format(.TextMatrix(intRow, intCol), "#,###,###,###"))
'            End If
'            If mclsTable.ShowZero = False Then
'              If Val(.TextMatrix(intRow, intCol)) = 0 Then .TextMatrix(intRow, intCol) = ""
'            Else
'              If Val(.TextMatrix(intRow, intCol)) = 0 Then .TextMatrix(intRow, intCol) = "0"
'            End If
'        End If
'
'        '对负数的处理
'         If Val(.TextMatrix(intRow, intCol)) < 0 Then
'          Select Case mclsTable.ShowNegivate
'          Case 0
'          Case 1
'            .Row = intRow
'            .col = intCol
'            .CellForeColor = vbRed
'          Case 2
'            .TextMatrix(intRow, intCol) = "(" & .TextMatrix(intRow, intCol) & ")"
'          Case 3
'            .TextMatrix(intRow, intCol) = "(-)" & Right(.TextMatrix(intRow, intCol), Len(.TextMatrix(intRow, intCol)) - 1)
'          End Select
'        End If    '对负数的处理
'
'       End Select      '对特殊列不处理
'       Next intCol
'  Next intRow
'     mintMastDealRow = intRow
'    .Redraw = True
'  End If
'  End With
End Sub

Private Function GetVisibleRow()
  Dim intRow As Integer
  If msgAccount.Rows = 1 Then Exit Function
   With msgAccount
        intRow = .TopRow
        Do While .RowIsVisible(intRow)
           GetVisibleRow = GetVisibleRow + 1
           intRow = intRow + 1
           If intRow > .Rows - 1 Then
              Exit Do
           End If
        Loop
   End With
End Function


Private Sub msgAccount_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
    If Button = vbRightButton Then
         PopupMenu frmMain.mnuListEdit, , msgAccount.Left + x, msgAccount.top + y
    Else
    End If
End Sub

Private Sub msgAccount_Scroll()
    DealFormat
End Sub
Private Sub CallReportPopMenu(Optional EditObject As String = " ")
  Dim intCount As Integer

    With frmMain
        For intCount = .mnuListEditMenu.Count - 1 To 1 Step -1
            Unload .mnuListEditMenu(intCount)
        Next
        For intCount = 1 To 5
           Load .mnuListEditMenu(intCount)
        Next intCount
        
        .mnuListEditMenu(0).Caption = "报表设置" & EditObject & "(&S)"
        .mnuListEditMenu(0).Enabled = True
        .mnuListEditMenu(0).Visible = True
        
        .mnuListEditMenu(1).Caption = "显示格式" & EditObject & "(&F)"
        .mnuListEditMenu(1).Enabled = True
        .mnuListEditMenu(1).Visible = True
        
        If mblnHaveHead Then
        .mnuListEditMenu(2).Caption = "隐藏标题" & EditObject & "(&H)"
        Else
        .mnuListEditMenu(2).Caption = "显示标题" & EditObject & "(&I)"
        End If
        .mnuListEditMenu(2).Enabled = True
        .mnuListEditMenu(2).Visible = True
        
        .mnuListEditMenu(3).Checked = False
        .mnuListEditMenu(3).Enabled = True
        .mnuListEditMenu(3).Caption = "-"
        .mnuListEditMenu(3).Enabled = True
        .mnuListEditMenu(3).Visible = True
        
        .mnuListEditMenu(4).Caption = "报表保存" & EditObject & "(&M)"
        .mnuListEditMenu(4).Enabled = True
        .mnuListEditMenu(4).Visible = True
        
        .mnuListEditMenu(5).Caption = "打印" & Space(4) & EditObject & "(&P)"
        .mnuListEditMenu(5).Enabled = True
        .mnuListEditMenu(5).Visible = True
              
   End With
End Sub

Private Sub mclsMainControl_ListEditMenu(ByVal intIndex As Integer)
   Select Case intIndex
   Case 0
        cmdAccSet_Click
   Case 1
        cmdFormatSet_Click
   Case 2
        cmdHide_Click
   Case 4
        cmdSave_Click
   Case 5
        
   End Select
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -