希望高手们能够指点指点。十分感谢。
解决方案 »
- 问vb控件组前后显示顺序
- VB打开excel对象后,无法正常关闭进程中的Excel对象
- 如何在VB6.0 中判断一个窗口正在打开中?
- 用Visual Basic 编写ActiveX 控件(*.ocx)的编译问题?
- unload form时什么会重新load form 呢?
- 如何通过一个checkbox控件,点击后选中listbox的全部项,再点击取消listbox的全部选择?
- 我的窗体一最大化,窗体上的控件的位置,停留在原来的位置上.怎能随着最大化而使控件的位置也跟着变.
- 获得了Image控件的Picture的句柄Handle,如何操作图像?
- 急!急!急!Excel与数据库的问题!送上100分,不够再加!
- 哪儿有VB.Net的学习材料?谢谢!
- 面试程序员时,如果问这个问题怎么回答?
- 怎样把一个纪录集中几个特定的字段绑定到DataGrid中去?
'这个例子在 TreeView 控件中添加几个 Node 对象。在选择了一个 Node 对象之后,可以将它拖动到任何其它 Node。为试用此例,要在窗体上安放 TreeView 和 ImageList 控件,并在窗体的声明部分粘贴该代码。运行此例,并且在附近拖动一些 Node 对象来观察结果。'声明全局变量。Dim indrag As Boolean '指示拖放操作的标志。
Dim nodX As Object '要拖动的项。Private Sub Form_Load()
'在 Imagelist 控件中加载一个位图。
Dim imgX As ListImage
Dim BitmapPath As String
BitmapPath = "C:\Program Files\Microsoft Visual Studio\Common\Graphics\icons\mail\mail01a.ico"
Set imgX = ImageList1.ListImages.Add(, , LoadPicture(BitmapPath))
'初始化 TreeView 控件,并创建若干节点。
TreeView1.ImageList = ImageList1
Dim nodX As Node '创建树。
Set nodX = TreeView1.Nodes.Add(, , , "Parent1", 1)
Set nodX = TreeView1.Nodes.Add(, , , "Parent2", 1)
Set nodX = TreeView1.Nodes.Add(1, tvwChild, , "Child 1", 1)
Set nodX = TreeView1.Nodes.Add(1, tvwChild, , "Child 2", 1)
Set nodX = TreeView1.Nodes.Add(2, tvwChild, , "Child 3", 1)
Set nodX = TreeView1.Nodes.Add(2, tvwChild, , "Child 4", 1)
Set nodX = TreeView1.Nodes.Add(3, tvwChild, , "Child 5", 1)
nodX.EnsureVisible '展开树以显示全部节点。
End SubPrivate Sub TreeView1_MouseDown _
(Button As Integer, Shift As Integer, x As Single, y As Single)
Set TreeView1.SelectedItem = TreeView1.HitTest(x, y)
Set nodX = TreeView1.SelectedItem '设置要拖动的项。
End SubPrivate Sub TreeView1_MouseMove _
(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = vbLeftButton Then '指示一个拖动操作。
indrag = True '设置 flag 为 true。
'使用CreateDragImage方法设置拖动图标。
TreeView1.DragIcon = TreeView1.SelectedItem.CreateDragImage
TreeView1.Drag vbBeginDrag '拖动操作。
End If
End SubPrivate Sub TreeView1_DragDrop _
(Source As Control, x As Single, y As Single)
Dim txtTemp As String '用于交换Node文本的临时变量
If TreeView1.DropHighlight Is Nothing Then
Set TreeView1.DropHighlight = Nothing
indrag = False
Exit Sub
Else
If nodX Is TreeView1.DropHighlight Then Exit Sub
' Cls
'交换Node.Text
txtTemp = nodX.Text
nodX.Text = TreeView1.DropHighlight.Text
TreeView1.DropHighlight.Text = txtTemp
Set TreeView1.SelectedItem = TreeView1.DropHighlight
Set TreeView1.DropHighlight = Nothing
indrag = False
End If
End SubPrivate Sub TreeView1_DragOver(Source As Control, x As Single, y As Single, State As Integer)
If indrag = True Then
'设置 DropHighlight 为鼠标坐标。
Set TreeView1.DropHighlight = TreeView1.HitTest(x, y)
End If
End Sub