阅读:1449回复:0
VB:将listview中显示出来的记录拖到treeview中去
Option Explicit
Private Sub Form_Load() TreeView1.Nodes.Add , , "aa", "aa" TreeView1.Nodes.Add , , "bb", "bb" ListView1.ListItems.Add , , "cc" ListView1.ListItems.Add , , "dd" ListView1.OLEDragMode = ccOLEDragAutomatic ListView1.LabelEdit = lvwManual End Sub Private Sub ListView1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) If Button = vbLeftButton Then ListView1.DragIcon = ListView1.SelectedItem.CreateDragImage ListView1.Drag vbBeginDrag End If End Sub Private Sub TreeView1_DragDrop(Source As Control, x As Single, y As Single) If Not TreeView1.DropHighlight Is Nothing Then TreeView1.Nodes.Add TreeView1.DropHighlight.Key, tvwChild, GetNextKey() & ListView1.SelectedItem.Text, ListView1.SelectedItem.Text TreeView1.DropHighlight.Expanded = True End If End Sub Private Sub TreeView1_DragOver(Source As Control, x As Single, y As Single, State As Integer) Set TreeView1.DropHighlight = TreeView1.HitTest(x, y) End Sub Private Function GetNextKey() As String Dim sNewKey As String Dim iHold As Integer Dim i As Integer On Error GoTo myerr iHold = Val(TreeView1.Nodes(1).Key) For i = 1 To TreeView1.Nodes.Count If Val(TreeView1.Nodes(i).Key) > iHold Then iHold = Val(TreeView1.Nodes(i).Key) End If Next iHold = iHold + 1 sNewKey = CStr(iHold) & "_" GetNextKey = sNewKey Exit Function myerr: GetNextKey = "1_" End Function |
|
|