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

📄 15.txt

📁 介绍VB里的各种控件的使用方法,窗口控制,图像编程以及OCX等内容,还提供了一个API集供参考.
💻 TXT
字号:
TreeView的基本操作
1.增加顶节点
2.增加分节点
3.删除所选节点
4.预防错误的发生
5.补充说明:
6.添加弹出式菜单(有点难)
7.改变背景颜色(调用 API 函数)

1.增加顶节点
TreeView1.Nodes.Add , tvwLast, , "顶节点" '注:基本的语法看Cmctl198.CHM这里就不说了

2.增加分节点
TreeView1.Nodes.Add 1, tvwChild, , "分节点" '1表示一个已经存在的Node对象的索引号,这就是指在索引号为1的Node对象下新建一个分节点,可用下列语句取得你所点击的Node对象的索引号 :
Private Sub TreeView1_Click() ‘点击TreeView时发生
index = TreeView1.SelectedItem.index
End Sub 
下面这句就是在你任意点击的Node对象下建立一个分节点&127;
TreeView1.Nodes.Add index, tvwChild, , "分节点"

3.删除节点
TreeView1.Nodes.Remove index '删除你所点击的Node对象

4.预防错误的发生
(1)没有任何Node对象了,你仍然再删除节点,解决方法如下:
On Error GoTo err
TreeView1.Nodes.Remove index '删除节点
err:
Exit Sub
(2)没有任何Node对象时,你建立分节点,解决方法如下:
On Error GoTo err
TreeView1.Nodes.Add index, tvwChild, , "分节点" '增加顶节点
Exit Sub
err:
TreeView1.Nodes.Add , tvwLast, , "顶节点 " '增加顶节点

5.补充说明:
如要显示图像,请加载ImageList控件与TreeView邦定,然后使用如下语句:
TreeView1.Nodes.Add , tvwLast, , "顶节点",1 '这里的1就是ImageList控件的图像索引
最好把TreeView的Style属性设置为7,LineStylen属性设置为1会比较好看些。

Hi,如果你把上面的都搞清楚了,就可以学习一下下面的小技巧(有点难度哟)

6.增加右键弹出式菜单
Private Sub TreeView1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)

Dim nod As Node

If Button = vbRightButton Then '检测鼠标的点击

Set nod = TreeView1.HitTest(x, y) '返回你所点击的Node对象的坐标

On Error GoTo EmptyNode

nod.Selected = True ' 设置你所点击的Node对象被选中

On Error GoTo 0

'<<下面是你的自定义菜单>>

Me.PopupMenu mnuPopUp

EmptyNode:

On Error GoTo 0

End If

End Sub

好了好了,看来你的基本操作都差不多会了,现在就来个难的(没有注释),请向下接着看:

7.调用 API 函数改变 TreeView 的背景色
首先声明 API 函数
Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long

Private Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long

Private Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Const GWL_STYLE = -16&
Private Const TVM_SETBKCOLOR = 4381&
Private Const TVM_GETBKCOLOR = 4383&
Private Const TVS_HASLINES = 2&

下面就是改变背景色的代码
Dim lngStyle As Long
Call SendMessage(TreeView1.hWnd, TVM_SETBKCOLOR, 0, ByVal RGB(255, 0, 0))
'改变背景到红色

lngStyle = GetWindowLong(TreeView1.hWnd, GWL_STYLE)
Call SetWindowLong(TreeView1.hWnd, GWL_STYLE, lngStyle - TVS_HASLINES)
Call SetWindowLong(TreeView1.hWnd, GWL_STYLE, lngStyle)

⌨️ 快捷键说明

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