frmcommlist.frm
来自「金算盘软件代码」· FRM 代码 · 共 1,519 行 · 第 1/4 页
FRM
1,519 行
gclsSys.CurrFormName = Me.hwnd
Select Case mintListType
Case 1
vntCompareMessage = Message.msgcurrency
Case 2
vntCompareMessage = Message.msgVoucherType
Case 3
vntCompareMessage = Message.msgPaymentMethod
Case 4
vntCompareMessage = Message.msgTerm
End Select
For Each vntMessage In mclsMainControl.Messages
If vntMessage = vntCompareMessage Then '接收到付款条件改变消息
mclsMainControl_ToolRefresh
mclsMainControl.Messages.Remove CStr(vntMessage) '清除付款条件改变消息
End If
Next
mclsMainControl.Messages.Clear
UpdateMenuStatus
End Sub
Private Sub mclsMainControl_EditColumn()
If mclsList.ListSet.ShowListSet(intViewID) Then
mclsList.ShowAll = chkShowAll.Value
msgCurrencys.Cols = 0
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
UpdateMenuStatus
'初始化查找复合列表框
mclsList.InitcboFindKind
End If
If chkShowAll.Value = 0 Then mclsList.DoShowAll False
End Sub
Private Sub mclsMainControl_EditFilter()
Dim blnFlage As Boolean
' If Not mblnIsSaveListset Then
' If Not FindlngViewID(intViewID) Then mclsList.ListSet.SaveList
' mblnIsSaveListset = True
' End If
If mclsList.ListSet.ListID < 1 Then mclsList.ListSet.SaveList
Filter.ShowFilter mclsList.ListSet.ListID, 1, , , , , blnFlage
If Not blnFlage Then Exit Sub
mclsList.SaveListSet
mclsList.ListSet.ViewId = intViewID
msgCurrencys.Cols = 0
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
UpdateMenuStatus
mclsList.InitcboFindKind
If chkShowAll.Value = 0 Then mclsList.DoShowAll False
'初始化查找复合列表框
End Sub
Private Sub mclsMainControl_FilePrintSetup()
Dim MyPrintSet As PrintClass
Dim intListPrintID As Integer
Set MyPrintSet = New PrintClass
Select Case mintListType
Case 1
intListPrintID = 29
Case 2
intListPrintID = 30
Case 3
intListPrintID = 31
Case 4
intListPrintID = 32
End Select
MyPrintSet.PrintSetUp gclsBase.BaseDB, mclsList.FlexGrid, , , , intListPrintID, " " & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
Set MyPrintSet = Nothing
End Sub
Private Sub mclsSubClass_WndProc(Msg As Long, wParam As Long, lParam As Long, Result As Long)
mclsList.HookProc Msg, wParam, lParam, mclsSubClass
'mclsSubClass.CallWndProc Msg, wParam, lParam
End Sub
'钩子处理
Private Sub mclsSubClassForm_WndProc(Msg As Long, wParam As Long, lParam As Long, Result As Long)
Dim MinMax As MINMAXINFO
If Msg = WM_GETMINMAXINFO Then
CopyMemory MinMax, ByVal lParam, Len(MinMax)
MinMax.ptMinTrackSize.x = 430
MinMax.ptMinTrackSize.y = 250
CopyMemory ByVal lParam, MinMax, Len(MinMax)
Result = 0
End If
End Sub
'
' FLEXGRID控件
'
'双击FLEXGRID调用卡片
Private Sub msgCurrencys_DblClick()
With msgCurrencys
If .MouseRow > 0 And .ColSel > 0 And .MouseCol > 1 And frmMain.mnuEditEdit.Enabled And frmMain.mnuEditEdit.Enabled Then
mclsMainControl_EditEdit
End If
End With
End Sub
'单击FLEXGRID停用列,停用或启用当前记录
Private Sub msgCurrencys_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = vbRightButton Then
Form_MouseDown Button, Shift, x, y
End If
End Sub
'恢复“停用”列光标
Private Sub msgCurrencys_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
With msgCurrencys
If Button = vbLeftButton Then
If chkShowAll.Value = 1 And .ColSel > 0 And .MouseRow > 0 And .Row > 0 Then
If x > .ColPos(1) And x < .ColPos(2) Then
.MousePointer = flexHourglass
mclsMainControl_EditInActive
.MousePointer = flexDefault
End If
End If
UpdateMenuStatus
End If
End With
End Sub
'
'响应主控对象事件
'
'编辑卡片
Private Sub mclsMainControl_EditEdit()
Dim lngID As Long
Dim bCancel As Boolean
lngID = ListID
bCancel = False
Me.Enabled = False
If lngID > 0 Then
Select Case mintListType
Case 1
If CheckIDUsed("Currencys", "lngCurrencyID", lngID) Then
' frmCurrencyListCard.EditCard lngID
frmCurrencyCard.EditCard lngID, vbModal
Set frmCurrencyCard = Nothing
bCancel = False
Else
bCancel = True
End If
Case 2
If CheckIDUsed("VoucherType", "lngVoucherTypeID", lngID) Then
' frmVoucherTypeListCard.EditCard lngID
frmEntryTypeCard.EditCard lngID, vbModal
Set frmEntryTypeCard = Nothing
bCancel = False
Else
bCancel = True
End If
Case 3
If CheckIDUsed("paymentMethod", "lngpaymentMethodID", lngID) Then
' frmPaymentMethodListCard.EditCard lngID
frmPaymentMethodCard.EditCard lngID, vbModal
Set frmPaymentMethodCard = Nothing
bCancel = False
Else
bCancel = True
End If
Case 4
If CheckIDUsed("Term", "lngTermID", lngID) Then
' frmtermlistcard.EditCard lngID
frmTermCard.EditCard lngID, vbModal
Set frmTermCard = Nothing
bCancel = False
Else
bCancel = True
End If
End Select
If bCancel Then
bCancel = False
ShowMsg 0, "该" & mstrListName & "不存在,不能进行修改!", vbExclamation + MB_TASKMODAL, "mStrListName" & "列表"
mclsMainControl_ToolRefresh
End If
End If
Me.Enabled = True
End Sub
'新增卡片
Private Sub mclsMainControl_EditNew()
Select Case mintListType
Case 1
' frmCurrencyListCard.AddCard
frmCurrencyCard.AddCard , vbModal
Set frmCurrencyCard = Nothing
Case 2
' frmVoucherTypeListCard.AddCard
frmEntryTypeCard.AddCard , vbModal
Set frmEntryTypeCard = Nothing
Case 3
' frmPaymentMethodListCard.AddCard
frmPaymentMethodCard.AddCard , vbModal
Set frmPaymentMethodCard = Nothing
Case 4
' frmtermlistcard.AddCard
frmTermCard.AddCard , vbModal
Set frmTermCard = Nothing
End Select
End Sub
'删除记录
Private Sub mclsMainControl_EditDel()
Dim lngID As Long
Dim blnDeleteSucess As Boolean
lngID = ListID
blnDeleteSucess = False
Select Case mintListType
Case 1
If UserRight.GetIsShowcard(1) Then
' If lngID = frmCurrencyListCard.GetCurID And lngID > 0 Then
If lngID = frmCurrencyCard.GetCurID And lngID > 0 Then
MsgBox "不能删除当前编辑的币种!", vbExclamation
' frmCurrencyListCard.Show
' frmCurrencyListCard.ZOrder 0
frmCurrencyCard.EditCard lngID, vbModal
'Unload frmCurrencyCard
Set frmCurrencyCard = Nothing
Exit Sub
End If
End If
If lngID = 1 Then
MsgBox "不能删除本位币", vbExclamation
Else
' blnDeleteSucess = frmCurrencyListCard.DelCard(lngID)
blnDeleteSucess = frmCurrencyCard.DelCard(lngID, Me.hwnd, True)
Unload frmCurrencyCard
Set frmCurrencyCard = Nothing
End If
Case 2
If UserRight.GetIsShowcard(2) Then
' If lngID = frmVoucherTypeListCard.VoucherTypeID And lngID > 0 Then
If lngID = frmEntryTypeCard.VoucherTypeID And lngID > 0 Then
MsgBox "不能删除当前编辑的凭证类型!", vbExclamation
' frmVoucherTypeListCard.Show
' frmVoucherTypeListCard.ZOrder 0
frmEntryTypeCard.EditCard lngID, vbModal
Set frmEntryTypeCard = Nothing
Exit Sub
End If
End If
' blnDeleteSucess = frmVoucherTypeListCard.DelCard(lngID)
blnDeleteSucess = frmEntryTypeCard.DelCard(lngID, Me.hwnd, True)
Unload frmEntryTypeCard
Set frmEntryTypeCard = Nothing
Case 3
If UserRight.GetIsShowcard(3) Then
' If lngID = frmPaymentMethodListCard.PaymentMethodID And lngID > 0 Then
If lngID = frmPaymentMethodCard.PaymentMethodID And lngID > 0 Then
MessageBox Me.hwnd, "不能删除当前编辑的付款方式!", "付款方式删除提示", &H40&
' frmPaymentMethodListCard.Show
' frmPaymentMethodListCard.ZOrder 0
frmPaymentMethodCard.EditCard lngID, vbModal
Set frmPaymentMethodCard = Nothing
Exit Sub
End If
End If
' blnDeleteSucess = frmPaymentMethodListCard.DelCard(lngID)
blnDeleteSucess = frmPaymentMethodCard.DelCard(lngID, Me.hwnd, True)
Unload frmPaymentMethodCard
Set frmPaymentMethodCard = Nothing
Case 4
If UserRight.GetIsShowcard(4) Then
' If lngID = frmtermlistcard.TermID And lngID > 0 Then
If lngID = frmTermCard.TermID And lngID > 0 Then
MsgBox "不能删除当前编辑的付款条件!", vbExclamation
' frmtermlistcard.Show
' frmtermlistcard.ZOrder 0
frmTermCard.EditCard lngID, vbModal
Set frmTermCard = Nothing
Exit Sub
End If
End If
' blnDeleteSucess = frmtermlistcard.DelCard(lngID)
blnDeleteSucess = frmTermCard.DelCard(lngID, Me.hwnd, True)
Unload frmTermCard
Set frmTermCard = Nothing
End Select
If blnDeleteSucess Then
With msgCurrencys
.RowHeight(.Row) = 0
.RowData(.Row) = 1
mclsList.SetFlexRow
End With
Select Case mintListType
Case 1
gclsSys.SendMessage Me.hwnd, Message.msgcurrency
Case 2
gclsSys.SendMessage CStr(Me.hwnd), Message.msgVoucherType
Case 3
gclsSys.SendMessage CStr(0), Message.msgPaymentMethod
Case 4
gclsSys.SendMessage CStr(Me.hwnd), Message.msgTerm
End Select
End If
UpdateMenuStatus
' Select Case mintListType
' Case 1
' Unload frmCurrencyListCard
' Case 2
' Unload frmVoucherTypeListCard
' Case 3
' Unload frmPaymentMethodListCard
' Case 4
' Unload frmtermlistcard
' End Select
End Sub
'停用/启用记录
Private Sub mclsMainControl_EditInActive()
Dim lngID As Long
Dim blnSucess As Boolean
lngID = ListID
blnSucess = False
If mintListType = 1 Then
If ListID = 1 Then
MsgBox "本位币不能停用", vbExclamation, Me.Caption
Exit Sub
End If
End If
If UpdateListInActive(ListID, Not ListRecIsInActive) Then
With msgCurrencys
If chkShowAll.Value Then
If .TextMatrix(.Row, 1) = "" Then
.TextMatrix(.Row, 1) = "√"
Else
.TextMatrix(.Row, 1) = ""
End If
Else
.TextMatrix(.Row, 1) = "√"
.RowHeight(.Row) = 0
mclsList.SetFlexRow
End If
blnSucess = True
'发出付款方式消息
'gclsSys.SendMessage CStr(Me.hwnd), Message.msgcurrency
End With
End If
If blnSucess Then
Select Case mintListType
Case 1
gclsSys.SendMessage CStr(Me.hwnd), Message.msgcurrency
Case 2
gclsSys.SendMessage CStr(Me.hwnd), Message.msgVoucherType
Case 3
gclsSys.SendMessage CStr(Me.hwnd), Message.msgPaymentMethod
Case 4
gclsSys.SendMessage CStr(Me.hwnd), Message.msgTerm
End Select
End If
UpdateMenuStatus
End Sub
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?