📄 结息日设置.frm
字号:
'----Set Status
Select Case m_EO.State
Case U8FDEso.esoAddNew
Me.tlbAction.Buttons("AddNew").Enabled = False
Me.tlbAction.Buttons("Edit").Enabled = False
Me.tlbAction.Buttons("Delete").Enabled = False
Me.tlbAction.Buttons("Save").Enabled = True
Me.tlbAction.Buttons("Cancel").Enabled = True
Me.tlbAction.Buttons("Refresh").Enabled = False
objOID.id = ""
Me.picView.Enabled = True
ufgCad.Visible = False
Case U8FDEso.esoEdit
Me.tlbAction.Buttons("AddNew").Enabled = False
Me.tlbAction.Buttons("Edit").Enabled = False
If mID(NodeKey, 2, 2) = m_conBIStyle Then
objOID.id = mID(NodeKey, 2)
Else
objOID.id = mID(Me.treStyle.Nodes(NodeKey).Parent.key, 2)
End If
Me.tlbAction.Buttons("Delete").Enabled = False
Me.tlbAction.Buttons("Save").Enabled = True
Me.tlbAction.Buttons("Cancel").Enabled = True
Me.tlbAction.Buttons("Refresh").Enabled = False
Me.picView.Enabled = True
Case U8FDEso.esoInstance
Me.tlbAction.Buttons("AddNew").Enabled = True
Me.tlbAction.Buttons("Edit").Enabled = True
If mID(NodeKey, 2, 2) = m_conBIStyle Then
objOID.id = mID(NodeKey, 2)
Else
objOID.id = mID(Me.treStyle.Nodes(NodeKey).Parent.key, 2)
End If
If objCadBI.IsUsed(g_sDataSourceName, objOID.id) Then
Me.tlbAction.Buttons("Delete").Enabled = False
Else
Me.tlbAction.Buttons("Delete").Enabled = True
End If
Set objCadBI = Nothing
Me.tlbAction.Buttons("Save").Enabled = False
Me.tlbAction.Buttons("Cancel").Enabled = False
Me.tlbAction.Buttons("Refresh").Enabled = True
Me.picView.Enabled = False
Case U8FDEso.esoInitialized
Me.tlbAction.Buttons("AddNew").Enabled = True
Me.tlbAction.Buttons("Edit").Enabled = False
Me.tlbAction.Buttons("Delete").Enabled = False
Me.tlbAction.Buttons("Save").Enabled = False
Me.tlbAction.Buttons("Cancel").Enabled = False
Me.tlbAction.Buttons("Refresh").Enabled = True
Me.picView.Enabled = False
ufgCad.Visible = False
End Select
'----Set Value
With m_EO
'设置属性
Me.txtCode.Property = SwitchDataType(.Fields("cad_code").DataType)
Me.txtCode.MaxLength = .Fields("cad_code").length
Me.txtMonth.Property = SwitchDataType(.Fields("month_num").DataType)
Me.txtMonth.MaxLength = .Fields("month_num").length
If m_EO.State = U8FDEso.esoEdit Or m_EO.State = U8FDEso.esoInstance Then
Me.txtDate.Property = SwitchDataType(.EOS("K" & m_OID.id)("close_date").DataType)
Me.txtDate.MaxLength = .EOS("K" & m_OID.id)("close_date").length
Else
Me.txtDate.Property = EditDate
End If
Me.txtDelay.Property = SwitchDataType(.Fields("delay_num").DataType)
Me.txtDelay.MaxLength = .Fields("delay_num").length
Me.txtDigest.Property = SwitchDataType(.Fields("digest").DataType)
Me.txtDigest.MaxLength = .Fields("digest").length
'赋值
If m_EO.State = U8FDEso.esoInitialized Or m_EO.State = U8FDEso.esoAddNew Then
Me.txtCode.Text = ""
Me.txtMonth.Text = ""
Me.txtDate.Text = ""
Me.txtDelay.Text = ""
Me.txtDigest.Text = ""
Else
Me.txtCode.Text = IIf(IsNull(.Fields("cad_code")), "", .Fields("cad_code"))
Me.txtMonth.Text = IIf(IsNull(.Fields("month_num")), "", .Fields("month_num"))
Me.txtDate.Text = IIf(IsNull(.EOS("K" & m_OID.id)("close_date")), "", .EOS("K" & m_OID.id)("close_date"))
Me.txtDelay.Text = IIf(IsNull(.Fields("delay_num")), "", .Fields("delay_num"))
Me.txtDigest.Text = IIf(IsNull(.Fields("digest")), "", .Fields("digest"))
End If
End With
If objOID.id <> "" And objCadBI.IsUsed(g_sDataSourceName, objOID.id) Then
ufgCad.Visible = True
Me.txtMonth.Enabled = False
Me.txtDate.Enabled = False
Me.updMonth.Enabled = False
Me.cmdDate.Enabled = False
Else
ufgCad.Visible = False
Me.txtMonth.Enabled = True
Me.txtDate.Enabled = True
Me.updMonth.Enabled = True
Me.cmdDate.Enabled = True
End If
SetTlbStyle Me, False
ocxCtbTool.RefreshEnable
End Sub
Private Sub cmdDate_Click()
DisplayCalendar Me.txtDate, Me.hWnd, Me.picView.left, Me.picView.top
txtDate.SetFocus
End Sub
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
On Error GoTo ErrHandler
Dim ShiftDown, AltDown, CtrlDown
ShiftDown = (Shift And vbShiftMask) > 0
AltDown = (Shift And vbAltMask) > 0
CtrlDown = (Shift And vbCtrlMask) > 0
Select Case KeyCode
Case vbKeyF1
SendKeys "{F1 3}"
Case vbKeyF5
If Me.tlbAction.Buttons("AddNew").Enabled Then
AddNew
End If
Case vbKeyF8
If Me.tlbAction.Buttons("Edit").Enabled Then
Edit
End If
Case vbKeyDelete
If Me.tlbAction.Buttons("Delete").Enabled Then
Delete
End If
Case vbKeyF6
If Me.tlbAction.Buttons("Save").Enabled Then
Save
End If
Case vbKeyZ
If CtrlDown And Me.tlbAction.Buttons("Cancel").Enabled Then
CancelDo
End If
Case vbKeyP
If CtrlDown And Me.tlbAction.Buttons("Print").Enabled Then
If Not InitPrnGrid Then Exit Sub
Print_Doc Me, "Print", TAB_CADSET
End If
Case vbKeyF4
If CtrlDown Then
Unload Me
End If
End Select
ErrHandler:
Exit Sub
End Sub
Private Sub Form_Load()
Dim objCadBI As New U8FDBso.clsCadBI
Dim objEO As U8FDEso.EntityObject
Dim objOID As New U8FDEso.OIDObject
MSImageList_Initialize ilsTlb
MSToolBar_Initialize tlbAction, "Print", TB_PRINT
MSToolBar_Initialize tlbAction, "Preview", TB_PREVIEW
MSToolBar_Initialize tlbAction, "Export", TB_Export
MSToolBar_Initialize tlbAction, "AddNew", TB_AddNew
MSToolBar_Initialize tlbAction, "Edit", TB_Edit
MSToolBar_Initialize tlbAction, "Delete", TB_Delete
MSToolBar_Initialize tlbAction, "Save", TB_Save
MSToolBar_Initialize tlbAction, "Cancel", TB_Cancel
MSToolBar_Initialize tlbAction, "Refresh", TB_Refresh
MSToolBar_Initialize tlbAction, "Help", TB_HELP
MSToolBar_Initialize tlbAction, "Exit", TB_EXIT
SetPrintDataStyleXML_flag = False
Me.jkrTree.width = 100
m_EditStatus = False
updMonth.Max = 99
updMonth.Min = 1
updDelay.Max = 9999
updDelay.Min = 0
Me.treStyle.LineStyle = tvwRootLines
Me.treStyle.Style = tvwTreelinesPlusMinusPictureText
Me.treStyle.LabelEdit = tvwManual
Me.treStyle.Indentation = 300
Dim i As Integer, j As Integer, RecordCount As Long
Set objEO = objCadBI.MoveTo(g_sDataSourceName, U8FDEso.esoFirst, m_conBIStyle)
RecordCount = objCadBI.RecordCount(g_sDataSourceName, objEO)
For i = 1 To RecordCount
If objEO.EOS.count Then
Me.treStyle.Nodes.Add , , "K" & objEO("cad_id"), objEO("cad_code")
For j = 1 To objEO.EOS.count
Me.treStyle.Nodes.Add "K" & objEO.EOS(j)("cad_id"), tvwChild, "K" & objEO.EOS(j)("cad_b_id"), objEO.EOS(j)("close_date")
Next
objOID = objEO("cad_id")
Set objEO = objCadBI.MoveTo(g_sDataSourceName, U8FDEso.esoNext, m_conBIStyle, objOID)
Else
objCadBI.Delete g_sDataSourceName, objEO
End If
Next
For i = 1 To treStyle.Nodes.count
If treStyle.Nodes(i).children > 0 Then
treStyle.Nodes(i).Image = 1
Else
treStyle.Nodes(i).Image = 3
End If
Next
If Me.treStyle.Nodes.count > 0 Then
Me.treStyle.Nodes(1).Expanded = True
Me.treStyle.Nodes(1).Image = 2
objOID = mID(Me.treStyle.Nodes(1).key, 2)
Set EO = objCadBI.MoveTo(g_sDataSourceName, U8FDEso.esoCurrent, m_conBIStyle, objOID)
EO.OID.id = EO(m_EO.SourceOIDField)
If Me.treStyle.Nodes(1).children > 0 Then
Me.treStyle.Nodes(1).child.Selected = True
NodeKey = Me.treStyle.Nodes(1).child.key
m_OID.id = mID(Me.treStyle.Nodes(1).child.key, 2)
End If
Else
Set EO = objCadBI.Init(g_sDataSourceName, m_conBIStyle)
End If
Set objCadBI = Nothing
Set objOID = Nothing
Set objEO = Nothing
SetUI
End Sub
Private Sub RefreshUI()
Dim objCadBI As New U8FDBso.clsCadBI
Dim objEO As U8FDEso.EntityObject
Dim objOID As New U8FDEso.OIDObject
Dim NodeFlag As Boolean '父节点
Dim NodeTemp As String
Dim MsgStr As String
If Me.treStyle.Nodes.count > 0 Then
NodeTemp = Me.treStyle.Nodes("K" & m_OID.id).Parent.key
End If
MsgStr = Me.txtCode.Text
Me.treStyle.Nodes.clear
Me.treStyle.LineStyle = tvwRootLines
Me.treStyle.Style = tvwTreelinesPlusMinusPictureText
Me.treStyle.LabelEdit = tvwManual
Me.treStyle.Indentation = 300
Dim i As Integer, j As Integer, RecordCount As Long
Set objEO = objCadBI.MoveTo(g_sDataSourceName, U8FDEso.esoFirst, m_conBIStyle)
RecordCount = objCadBI.RecordCount(g_sDataSourceName, objEO)
For i = 1 To RecordCount
If objEO.EOS.count Then
Me.treStyle.Nodes.Add , , "K" & objEO("cad_id"), objEO("cad_code")
For j = 1 To objEO.EOS.count
Me.treStyle.Nodes.Add "K" & objEO.EOS(j)("cad_id"), tvwChild, "K" & objEO.EOS(j)("cad_b_id"), objEO.EOS(j)("close_date")
Next
If NodeTemp = "K" & objEO("cad_id") Then NodeFlag = True
objOID = objEO("cad_id")
Set objEO = objCadBI.MoveTo(g_sDataSourceName, U8FDEso.esoNext, m_conBIStyle, objOID)
Else
objCadBI.Delete g_sDataSourceName, objEO
End If
Next
For i = 1 To treStyle.Nodes.count
If treStyle.Nodes(i).children > 0 Then
treStyle.Nodes(i).Image = 1
Else
treStyle.Nodes(i).Image = 3
End If
Next
If NodeFlag Then
Me.treStyle.Nodes(NodeTemp).Selected = True
Me.treStyle.Nodes(NodeTemp).Expanded = True
Me.treStyle.Nodes(NodeTemp).Image = 2
objOID = mID(NodeTemp, 2)
Set EO = objCadBI.MoveTo(g_sDataSourceName, U8FDEso.esoCurrent, m_conBIStyle, objOID)
m_OID.id = mID(Me.treStyle.Nodes(NodeTemp).child.key, 2)
Else
If Len(MsgStr) > 0 Then
MsgBox "【" & MsgStr & "】被删除了!"
End If
If Me.treStyle.Nodes.count = 0 Then
NodeKey = "": m_OID.id = ""
Set EO = objCadBI.Init(g_sDataSourceName, m_conBIStyle)
Else
If objCadBI.RecordCount(g_sDataSourceName, EO) > 0 Then
objOID = mID(NodeTemp, 2)
Set m_EO = objCadBI.MoveTo(g_sDataSourceName, U8FDEso.esoNext, m_conBIStyle, objOID)
m_OID = m_EO.EOS(1)(EO.EOS.EOMetaData.SourceOIDField)
NodeKey = "k" & m_OID.id
Set objOID = Nothing
SetUI
Me.treStyle.Nodes("K" & m_OID).Parent.Expanded = True
Me.treStyle.Nodes("K" & m_OID).Selected = True
End If
End If
End If
Set objCadBI = Nothing
Set objOID = Nothing
Set objEO = Nothing
SetUI
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Dim iAnswer As VbMsgBoxResult
If EO.State = U8FDEso.esoEdit Or EO.State = U8FDEso.esoAddNew Then
iAnswer = MsgBox("还有尚未保存的数据,保存吗?", vbQuestion + vbYesNoCancel)
If iAnswer = vbNo Then
m_EditStatus = True
If m_EO.State = U8FDEso.esoEdit Then CancelDo
m_EditStatus = False
Unload Me
ElseIf iAnswer = vbYes Then
Save
Unload Me
Else
Cancel = 1
End If
Else
Unload Me
End If
End Sub
Private Sub Form_Resize()
On Error Resume Next
Me.jkrTree.maxLeft = Me.ScaleWidth - conMoveLimit
Me.jkrTree.minLeft = g_conMoveLimit
Me.treStyle.Move 0, Me.tlbAction.Height, Me.jkrTree.left, Me.ScaleHeight - Me.tlbAction.Height
Me.jkrTree.Move Me.jkrTree.left, Me.tlbAction.Height, 50, Me.ScaleHeight
Me.picView.Move Me.jkrTree.left + 50, Me.tlbAction.Height, Me.ScaleWidth - Me.jkrTree.left - 50, Me.ScaleHeight - Me.tlbAction.Height
ResizeCtbTool Me, picView, treStyle, jkrTree
On Error GoTo 0
End Sub
Private Sub jkrTree_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Me.jkrTree.ZOrder 0
End Sub
Private Sub jkrTree_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
If Me.jkrTree.left < conMoveLimit Then
Me.jkrTree.left = conMoveLimit
ElseIf Me.jkrTree.left > Me.ScaleWidth - conMoveLimit Then
Me.jkrTree.left = Me.ScaleWidth - conMoveLimit
End If
Me.treStyle.width = Me.jkrTree.left
Me.picView.left = Me.jkrTree.left + 50
Me.picView.width = Me.ScaleWidth - Me.treStyle.width - 50
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -