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

📄 frmqueryresult.frm

📁 通用书店管理系统
💻 FRM
📖 第 1 页 / 共 3 页
字号:
        .Editable = flexEDKbdMouse
        .ExtendLastCol = True
        
        .FixedRows = 1
        .Cols = 1
        .ColKey(0) = 0
        
        .Clear
        
        Dim i%
        .Cols = UBound(arrHeader) + 2
        For i = 0 To UBound(arrHeader)
            fg.Cell(flexcpText, 0, i + 1) = arrHeader(i)
            fg.ColKey(i + 1) = i + 1
            fg.ColWidth(i + 1) = Me.TextWidth("好") * Len(arrHeader(i)) + 100
        Next i
        lngColKey = fg.Cols - 1
        .FixedAlignment(-1) = flexAlignCenterCenter
        
        '进行列头合并处理
        Dim strTempHeaderMerge$
        strTempHeaderMerge = strHeaderMerge
        Call MergeHeader(strTempHeaderMerge)
        
        .LoadArray (arrInputArray)
        
    End With
    
    Set dlg.frmQR = Me
        
    Call setStatusBar
    
    Call PreExcute      '进行代码预处理
    
    
End Sub

Private Sub Data_Aggregate_Click()
    If fg.Rows <= 1 Or fg.Cols <= 1 Then
        MsgBox "无计算数据!"
        Exit Sub
    End If
        
    Dim r1&, c1&, r2&, c2&
    Call fg.GetSelection(r1, c1, r2, c2)
    If r1 = r2 And c1 = c2 Then
        MsgBox "请选种需计算数据的区域!", vbInformation, "提示"
        Exit Sub
    End If
    
    dlg.ShowSetup ("表格运算")
End Sub

Private Sub Data_CustomGroup_Click()
    
    dlg.ShowSetup ("自定义分组")
End Sub

Private Sub Data_SingleGroup_Click()
    '单列分组
    If fg.Cols <= 1 Then Exit Sub
    With fg
        .MergeCells = flexMergeNever
        .MergeCol(-1) = False
        
        .MergeCells = flexMergeRestrictRows
        .ColPosition(.ColSel) = 1
        .MergeCol(1) = True
    End With
End Sub

Private Sub Data_SortAscending_Click()
    '从小到大排序
    If fg.Cols <= 1 Then Exit Sub
    
    fg.ColSort(fg.ColSel) = flexSortGenericAscending
    fg.Sort = flexSortUseColSort
End Sub

Private Sub Data_SortDescending_Click()
    '从大到小排序
    If fg.Cols <= 1 Then Exit Sub
    
    fg.ColSort(fg.ColSel) = flexSortGenericDescending
    fg.Sort = flexSortUseColSort
End Sub

Private Sub Data_Subtotal_Click()
    '汇总
    
    dlg.ShowSetup ("汇总")
    
End Sub

Private Sub Edit_Copy_Click()
    '拷贝
    Dim r1&, c1&, r2&, c2&
    
    Dim i&, j&
    Dim strTemp
    
    Call fg.GetSelection(r1, c1, r2, c2)
    For i = r1 To r2
        For j = c1 To c2
            strTemp = strTemp & fg.Cell(flexcpTextDisplay, i, j) & Chr(9)
        Next j
        strTemp = strTemp & Chr(13) & Chr(10)
    Next i
    VB.Clipboard.Clear
    VB.Clipboard.SetText strTemp
    
End Sub

Private Sub Edit_Cut_Click()
    '剪切
    
End Sub

Private Sub Edit_DeleteCol_Click()
    '删除列
    
    If fg.Cols <= 1 Then Exit Sub
    
    Dim r&, c&, r1&, c1&, r2&, c2&
    fg.GetSelection r1, c1, r2, c2
    
    For c = c2 To c1 Step -1
        fg.ColPosition(c) = fg.Cols - 1
        fg.Cols = fg.Cols - 1
    Next
    
End Sub

Private Sub Edit_DeleteRow_Click()
    '删除行
    If fg.Rows <= 1 Then Exit Sub
    
    Dim r&, c&, r1&, c1&, r2&, c2&
    fg.GetSelection r1, c1, r2, c2
    
    For r = r2 To r1 Step -1
        fg.RemoveItem r
    Next
    
    Call setStatusBar
    
End Sub

Private Sub Edit_Find_Click()
    '查找
    dlg.ShowSetup ("查找")
    
End Sub

Private Sub Edit_HideColumn_Click()
    '隐藏列
    Dim r&, c&, r1&, c1&, r2&, c2&
    fg.GetSelection r1, c1, r2, c2
    
    For c = c1 To c2
        fg.ColHidden(c) = True
    Next
End Sub

Private Sub Edit_HideRow_Click()
    '隐藏行
    Dim r&, c&, r1&, c1&, r2&, c2&
    fg.GetSelection r1, c1, r2, c2
    
    For r = r1 To r2
        fg.RowHidden(r) = True
    Next
End Sub

Private Sub Edit_Locate_Click()
    '定位
    dlg.ShowSetup ("定位")
End Sub

Private Sub Edit_Number_Click()
    '自然序号
    Dim lngNum As Long
    
    If Me.fg.OutlineBar = flexOutlineBarComplete Then
        MsgBox "在树型模式下不允许插入自然序号!"
        Edit_Number.Checked = False
        Exit Sub
    End If
    
    If fg.ColWidth(0) = 0 Then
        If fg.MergeCol(1) Then
            Dim lngNo&
            lngNo = 1
            For lngNum = fg.FixedRows To fg.Rows - 1
                If lngNum = fg.FixedRows Then
                    fg.Cell(flexcpText, lngNum, 0) = lngNum - fg.FixedRows + 1
                Else
                    If fg.Cell(flexcpText, lngNum, 1) = fg.Cell(flexcpText, lngNum - 1, 1) Then
                        fg.Cell(flexcpText, lngNum, 0) = lngNo
                    Else
                        lngNo = lngNo + 1
                        fg.Cell(flexcpText, lngNum, 0) = lngNo
                    End If
                End If
            Next lngNum
        Else
            For lngNum = fg.FixedRows To fg.Rows - 1
                fg.Cell(flexcpText, lngNum, 0) = lngNum - fg.FixedRows + 1
            Next lngNum
        End If
        
        Dim i%
        For i = 0 To fg.FixedRows - 1
            fg.Cell(flexcpText, i, 0) = "序号"
        Next i
        fg.MergeCells = flexMergeRestrictRows
        fg.MergeCol(0) = True
        
        fg.ColWidth(0) = Me.TextWidth("1") * IIf(Len(CStr(lngNum)) < 3, 3, Len(CStr(lngNum))) + 220
        Edit_Number.Checked = True
    Else
        fg.ColWidth(0) = 0
        Edit_Number.Checked = False
    End If
    
End Sub

Private Sub Edit_Replace_Click()
    dlg.ShowSetup ("替换")
End Sub

Private Sub Edit_SelectAll_Click()
    '全选
    Call Me.fg.Select(fg.FixedRows, 1, fg.Rows - 1, fg.Cols - 1)
    
End Sub

Private Sub Edit_ViewHiddenColumn_Click()
    '显示隐藏列
    fg.ColHidden(-1) = False
    
End Sub

Private Sub Edit_ViewHiddenRow_Click()
    '显示隐藏行
    Me.fg.RowHidden(-1) = False
    
End Sub

Private Sub fg_CellButtonClick(ByVal row As Long, ByVal Col As Long)

'    If Row = 0 And Col > 0 Then
'        Call fg.Select(0, fg.ColSel, fg.Rows - 1, fg.ColSel)
'    End If
'
'    If Col = 0 And Row > 0 Then
'        Call fg.Select(fg.RowSel, 0, fg.RowSel, fg.Cols - 1)
'    End If

End Sub

Private Sub File_Close_Click()
    '关闭窗体
    
    Unload Me
End Sub

Private Sub File_Print_Click()
    '打印
    Dim colFixed As Long
    
    '保存固定行列颜色
    colFixed = fg.BackColorFixed
    fg.BackColorFixed = vbWhite
    
    Dim ro As New ResultOutput
    ro.hwnd_FlexGrid = Me.fg.hWnd
    Set ro.PrintInfo = Me.defPrintInfo
    ro.showPrint
    
    '恢复固定行列颜色
    fg.BackColorFixed = colFixed
    
End Sub

Private Sub File_Reset_Click()
    '复位
    
    Call iniControl
    
End Sub

Private Sub File_Save_Click()
    '保存
    
    On Error Resume Next
    
    Dim fs As Object
    Set fs = CreateObject("Scripting.FileSystemObject")
    
    Err.Number = 0
    If Trim(strFileName) = "" Then
        cd.CancelError = True
        cd.Filter = "Excel文件 (*.Xls)|*.Xls|Text文件 (*.Txt)|*.Txt"
        cd.ShowSave
        If Err.Number = 0 Then
            If fs.FileExists(cd.FileName) Then
                If MsgBox("该文件已经存在,是否覆盖原文件?", vbYesNo + vbInformation, "警告") = vbYes Then
                    Call fg.SaveGrid(strFileName, flexFileTabText)
                    strFileName = cd.FileName
                End If
            Else
                Call fg.SaveGrid(strFileName, flexFileTabText)
                strFileName = cd.FileName
            End If
        End If
    Else
        Call fg.SaveGrid(strFileName, flexFileTabText)
        strFileName = cd.FileName
    End If
    
End Sub

Private Sub File_SaveAs_Click()
    '另存为
    
    On Error Resume Next
    
    Dim fs As Object
    Set fs = CreateObject("Scripting.FileSystemObject")

    Err.Number = 0
    
    cd.FileName = strFileName
    cd.CancelError = True
    cd.Filter = "Excel文件 (*.Xls)|*.Xls|Text文件 (*.Txt)|*.Txt"
    cd.ShowSave
    
    If Err.Number = 0 Then
        If fs.FileExists(cd.FileName) Then
            If MsgBox("该文件已经存在,是否覆盖原文件?", vbYesNo + vbInformation, "警告") = vbYes Then
                Call fg.SaveGrid(strFileName, flexFileTabText)
                strFileName = cd.FileName
            End If
        Else
            Call fg.SaveGrid(strFileName, flexFileTabText)
            strFileName = cd.FileName
        End If
    End If
    
    
End Sub

Private Sub Form_Load()
    Call iniControl     '控件初始化
End Sub

Private Sub Form_Resize()
    '动态地改变控件大小
    If Me.ScaleWidth > 400 Then fg.Width = Me.ScaleWidth - 300
    If Me.ScaleHeight > fg.Top + sb.Height + 250 Then
        fg.Height = Me.ScaleHeight - fg.Top - sb.Height - 200
    End If
End Sub


Private Sub Form_Unload(Cancel As Integer)
    '关闭对话框
    Unload dlg
    Set dlg = Nothing
    
End Sub

Private Sub Insert_AppendColumn_Click()
    '追加列
    fg.Cols = fg.Cols + 1
End Sub

Private Sub Insert_AppendRow_Click()
    '追加行

⌨️ 快捷键说明

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