📄 mdltreeview.bas
字号:
Attribute VB_Name = "mdlTreeview"
Option Explicit
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'将对象加入控件的所有函数
'将所有客户类型加入树型图
Public Sub TypeToTreeview(ByRef tvw As TreeView)
Dim objs As New clsMTypes
Dim i As Long
'先加入没有上级客户类型的客户类型
objs.Find
Dim Nd As Node
'加入原始根节点。“O0”中,第一个为字母O,第二个为数字0
Set Nd = tvw.Nodes.Add(, , "O0", "所有商品类型", "group2")
Nd.Expanded = True
Nd.Selected = True
For i = 1 To objs.Count
'加入没有上级客户类型的客户类型节点,图形列表ID为“D”
Set Nd = tvw.Nodes.Add("O0", tvwChild, "A" & objs.Item(i).ID, _
objs.Item(i).TypeName, "group")
Nd.Expanded = True
Next i
End Sub
'将一个客户类型加入到树型图中
Public Sub AddTypeToTvw(ByVal obj As clsMType, ByRef tvw As TreeView)
' On Error Resume Next
'“O0”中,第一个为字母O,第二个为数字0
tvw.Nodes.Add "O0", tvwChild, "A" & obj.ID, obj.TypeName, "group"
End Sub
'
'从树型图中得到客户类型对象
Public Function GetTypeFromTreeview(ByVal tvw As TreeView, _
ByRef obj As clsMType) As Boolean
If tvw.SelectedItem Is Nothing Then Exit Function
Dim objs As New clsMTypes
'按选择的节点的KEY查找对象
If objs.Find(GetID(tvw.SelectedItem.Key)).Count = 0 Then Exit Function
On Error Resume Next '为了防止未查找到,因此加入了错误判断语句
Set obj = objs.Item(1)
GetTypeFromTreeview = (Err.Number = 0)
End Function
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'得到某个节点或列表项所表示的对象的实际ID,如“A11”,则得到11,“B2”,则得到2
Public Function GetID(strKey As String) As Long
GetID = Val(Right(strKey, Len(strKey) - 1))
End Function
'
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -