frmcommlist.frm
来自「金算盘软件代码」· FRM 代码 · 共 1,519 行 · 第 1/4 页
FRM
1,519 行
'全部显示/显示未停用记录
Private Sub mclsMainControl_EditShowAll()
frmMain.mnuEditShowAll.Checked = Not frmMain.mnuEditShowAll.Checked
If chkShowAll.Value = 0 Then
chkShowAll.Value = 1
Else
chkShowAll.Value = 0
End If
End Sub
'引用编码
Private Sub mclsMainControl_EditUse()
Select Case mintListType
Case 1
UseCode Message.msgcurrency, ListID
Case 2
UseCode Message.msgVoucherType, ListID
Case 3
UseCode Message.msgPaymentMethod, ListID
Case 4
UseCode Message.msgTerm, ListID
End Select
Me.ZOrder 1
End Sub
'搜索
Private Sub mclsMainControl_EditSearch()
frmTreeFind.ShowFind
End Sub
'刷新
Private Sub mclsMainControl_ToolRefresh()
Dim i As Integer
Dim strOldText As String
Dim strOldSort As String
Me.MousePointer = vbHourglass
With msgCurrencys
'保存当前排序列
strOldSort = cboFindKind.Text
strOldText = .TextMatrix(.Row, mclsList.SortCol)
.Redraw = False
'刷新列表记录
mclsList.SaveListColWidth
.Cols = 0
GetList
' Set datCurrencys.Recordset = GetList()
' Set datCurrencys.Recordset = GetList()
' If datCurrencys.Recordset.RecordCount > 0 Then
'' 'datCurrencys.Recordset.MoveFirst
' datCurrencys.Recordset.MoveLast
' End If
' 'datCurrencys.Refresh
' '.Refresh
' datCurrencys.Recordset.Close
'.Redraw = False
mclsList.SetFlexGrid
'恢复以前排序列
cboFindKind.Text = strOldSort
cboFindKind.Text = strOldSort
.Redraw = False
If .Rows > 1 Then
txtfind.Text = strOldText
End If
If chkShowAll.Value = 0 Then mclsList.DoShowAll False
'更新菜单状态
UpdateMenuStatus
.Redraw = True
Me.MousePointer = vbDefault
End With
End Sub
Private Sub mclsMainControl_FilePrint()
Dim myPrintclass As PrintClass
Dim intPrintID As Integer
Set myPrintclass = New PrintClass
Select Case mintListType
Case 1
intPrintID = 29
Case 2
intPrintID = 30
Case 3
intPrintID = 31
Case 4
intPrintID = 32
End Select
myPrintclass.PrintList gclsBase.BaseDB, mclsList.FlexGrid, intPrintID, Me.Caption & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
Set myPrintclass = Nothing
End Sub
Private Sub mclsMainControl_ListEditMenu(ByVal intIndex As Integer)
If mintListType = 1 Then
Select Case intIndex
Case 0:
mclsMainControl_EditEdit
Case 1:
mclsMainControl_EditNew
Case 2:
mclsMainControl_EditDel
Case 4:
mclsMainControl_EditInActive
Case 5:
mclsMainControl_EditShowAll
' Case 7:
' mclsMainControl_EditUse
' Case 8:
' mclsMainControl_EditSearch
Case 7:
frmClearRate.ClearRate (ListID) '清除过时汇率
Case 9
mclsMainControl_EditUse
Case 10:
mclsMainControl_EditFilter
Case 11:
mclsMainControl_EditColumn
Case 13:
mclsMainControl_ToolRefresh
Case 14
mclsMainControl_FilePrint
End Select
Else
Select Case intIndex
Case 0:
mclsMainControl_EditEdit
Case 1:
mclsMainControl_EditNew
Case 2:
mclsMainControl_EditDel
Case 4:
mclsMainControl_EditInActive
Case 5:
mclsMainControl_EditShowAll
Case 7:
mclsMainControl_EditUse
' Case 8:
' mclsMainControl_EditSearch
Case 8:
mclsMainControl_EditFilter
Case 9:
mclsMainControl_EditColumn
Case 11:
mclsMainControl_ToolRefresh
Case 12:
mclsMainControl_FilePrint
End Select
End If
End Sub
'清除过时汇率
Private Sub ClearlasteRate()
frmClearRate.ClearRate (ListID)
End Sub
'
' 编辑菜单
'
Private Sub MakeListEditMenu()
Dim intCnt As Integer
With frmMain
For intCnt = .mnuListEditMenu.Count - 1 To 1 Step -1
Unload .mnuListEditMenu(intCnt)
Next
Utility.CloneMenu .mnuEditEdit, .mnuListEditMenu(0)
Load .mnuListEditMenu(1)
Utility.CloneMenu .mnuEditNew, .mnuListEditMenu(1)
Load .mnuListEditMenu(2)
Utility.CloneMenu .mnuEditDel, .mnuListEditMenu(2)
.mnuListEditMenu(2).Caption = "删除(&D)"
Load .mnuListEditMenu(3)
Utility.CloneMenu .mnuEditBar2, .mnuListEditMenu(3)
Load .mnuListEditMenu(4)
Utility.CloneMenu .mnuEditInActive, .mnuListEditMenu(4)
.mnuListEditMenu(4).Caption = "停用(&H)"
.mnuListEditMenu(4).Visible = True
Load .mnuListEditMenu(5)
Utility.CloneMenu .mnuEditShowAll, .mnuListEditMenu(5)
.mnuListEditMenu(5).Caption = "全部显示(&W)"
.mnuListEditMenu(5).Visible = True
' Load .mnuListEditMenu(6)
' Utility.CloneMenu .mnuEditBar2, .mnuListEditMenu(6)
' .mnuListEditMenu(6).Visible = False
' Load .mnuListEditMenu(7)
' Utility.CloneMenu .mnuEditUse, .mnuListEditMenu(7)
'
' Load .mnuListEditMenu(8)
' Utility.CloneMenu .mnuEditSearch, .mnuListEditMenu(8)
' .mnuListEditMenu(8).Visible = False
Load .mnuListEditMenu(6)
Utility.CloneMenu .mnuEditBar2, .mnuListEditMenu(6)
.mnuListEditMenu(6).Visible = True
Select Case mintListType
Case 1
Load .mnuListEditMenu(7)
.mnuListEditMenu(7).Caption = "清除过时汇率(&Z)"
.mnuListEditMenu(7).Enabled = True
.mnuListEditMenu(7).Visible = True
Load .mnuListEditMenu(8)
Utility.CloneMenu .mnuEditBar2, .mnuListEditMenu(8)
Load .mnuListEditMenu(9)
Utility.CloneMenu .mnuEditUse, .mnuListEditMenu(9)
Load .mnuListEditMenu(10)
Utility.CloneMenu .mnuEditFilter, .mnuListEditMenu(10)
Load .mnuListEditMenu(11)
Utility.CloneMenu .mnuEditColumn, .mnuListEditMenu(11)
Load .mnuListEditMenu(12)
Utility.CloneMenu .mnuEditBar2, .mnuListEditMenu(12)
Load .mnuListEditMenu(13)
Utility.CloneMenu .mnuToolRefresh, .mnuListEditMenu(13)
Load .mnuListEditMenu(14)
Utility.CloneMenu .mnuFilePrint, .mnuListEditMenu(14)
Dim blnIsnotEmpty As Boolean
If mclsList.FlexGrid.Rows > 1 Then
blnIsnotEmpty = True
Else
blnIsnotEmpty = False
End If
.mnuListEditMenu(7).Enabled = blnIsnotEmpty
Case 2, 3, 4
Load .mnuListEditMenu(7)
Utility.CloneMenu .mnuEditUse, .mnuListEditMenu(7)
Load .mnuListEditMenu(8)
Utility.CloneMenu .mnuEditFilter, .mnuListEditMenu(8)
Load .mnuListEditMenu(9)
Utility.CloneMenu .mnuEditColumn, .mnuListEditMenu(9)
Load .mnuListEditMenu(10)
Utility.CloneMenu .mnuEditBar2, .mnuListEditMenu(10)
Load .mnuListEditMenu(11)
Utility.CloneMenu .mnuToolRefresh, .mnuListEditMenu(11)
Load .mnuListEditMenu(12)
Utility.CloneMenu .mnuFilePrint, .mnuListEditMenu(12)
End Select
End With
End Sub
Private Sub cmdEdit_Click()
MakeListEditMenu
PopupMenu frmMain.mnuListEdit, , cmdEdit.Left, cmdEdit.top + cmdEdit.Height
End Sub
'
' 报表菜单
'
Private Sub MakeListReportMenu()
Dim intCnt As Integer
With frmMain
For intCnt = .mnuListReportMenu.Count - 1 To 1 Step -1
Unload .mnuListReportMenu(intCnt)
Next
' Utility.CloneMenu .mnuReportQuick, .mnuListReportMenu(0)
' .mnuListReportMenu(0).Caption = "外币明细表(&F)"
' .mnuListReportMenu(0).Enabled = False
' .mnuListReportMenu(0).Visible = True
' Utility.CloneMenu .mnuReportQuick, .mnuListReportMenu(0)
' Load .mnuListReportMenu(1)
' Utility.CloneMenu .mnuEditBar2, .mnuListReportMenu(1)
' Load .mnuListReportMenu(2)
'删除
' .mnuListReportMenu(0).Caption = "币种一览表(&C)"
' .mnuListReportMenu(0).Enabled = True
' .mnuListReportMenu(0).Visible = True
'
End With
End Sub
Private Sub cmdReport_Click()
MakeListReportMenu
PopupMenu frmMain.mnuListReport, , cmdReport.Left, cmdReport.top + cmdReport.Height
End Sub
'
'查找内容 TextBox 控件
'
Private Sub txtFind_Change()
mclsList.TextFind txtfind.Text
End Sub
Private Sub txtFind_KeyDown(KeyCode As Integer, Shift As Integer)
Dim intSelLen As Integer
If KeyCode = 8 Then
intSelLen = txtfind.SelLength
If txtfind.SelStart > 0 Then txtfind.SelStart = txtfind.SelStart - 1
txtfind.SelLength = intSelLen + 1
End If
End Sub
Private Function CurrCodeName() As String
Dim strCode As String
Dim strName As String
Dim i As Integer
With mclsList.FlexGrid
If .Row > 0 Then
For i = 0 To mclsList.ListSet.FixColumns - 1
If .TextMatrix(0, 2 + i) = "币种编码" Or .TextMatrix(0, 2 + i) = "币种编码↑" Or .TextMatrix(0, 2 + i) = "币种编码↓" Then
strCode = .TextMatrix(.Row, 2 + i)
ElseIf .TextMatrix(0, i + 2) = "币种名称" Or .TextMatrix(0, i + 2) = "币种名称↑" Or .TextMatrix(0, i + 2) = "币种名称↓" Then
strName = .TextMatrix(.Row, 2 + i)
End If
Next
End If
End With
CurrCodeName = Trim(strCode) & " " & Trim(strName)
End Function
Public Function SetListType(ByVal intListType As Integer)
Select Case intListType
Case 1
mstrListName = "币种汇率"
intViewID = 15
Case 2
mstrListName = "凭证类型"
intViewID = 14
Case 3
mstrListName = "付款方式"
intViewID = 17
Case 4
mstrListName = "付款条件"
intViewID = 18
End Select
mintListType = intListType
End Function
Public Function BindingResultSet()
Me.Hide
GetList
' Set datCurrencys.Recordset = GetList()
' If datCurrencys.Recordset.RecordCount > 0 Then
' datCurrencys.Recordset.MoveLast
' End If
' datCurrencys.Recordset.Close
' Set datCurrencys.Recordset = Nothing
mclsList.SetFlexGrid
'初始化查找复合列表框
mclsList.InitcboFindKind
mclsList.FlexNoChange = False
mclsList.FindNoChange = False
'设置第一行为选定行
With msgCurrencys
If .Rows > 1 Then .Row = 1
.col = 0
.ColSel = .Cols - 1
End With
mclsList.DoShowAll False
UpdateMenuStatus
Me.Show
Me.ZOrder 0
End Function
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?