将listview中显示出来的记录拖到treeview中去

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 shawls 的 blog

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

本文关键:listview,拖动,treeview
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top