VB的listview控件 如何用拖动的方式复制文件 10

我用VB的listview控件做了一个文件列表显示的小程序,现在想实现一个功能,在文件列表上直接用鼠标拖动某个文件到桌面或者拖到资源管理器的其它文件夹时,就会实现复制功能... 我用VB的listview控件做了一个文件列表显示的小程序,现在想实现一个功能,在文件列表上直接用鼠标拖动某个文件到桌面或者拖到资源管理器的其它文件夹时,就会实现复制功能,请高手指点,谢谢

为什么度娘不让在这里写代码???
源码位置http://yunpan.cn/Q5bRRa5YmUtqp
怎么还没人回答

我用的是listview控件,不是file控件
展开
 我来答
jidong2107
2013-06-08 · TA获得超过867个赞
知道小有建树答主
回答量:724
采纳率:75%
帮助的人:203万
展开全部

不会的可能觉得非常复杂,其实很简单的;

File1的两个属性修改下就OK。

  1. OLEDragMode=1

  2. OLEDropMode=1

这只是实现复制,File1的Mouseup事件中加入删除原文件夹的文件就能实现移动了。

追问
我用的是listview控件,不是file控件
追答

listview不支持拖放到文件类窗体操作,file控件可以,因为它和其它文件窗体是同类的。

当然也不是没有办法,那就是借用file控件的拖放操作

  1. 加个file控件进来,同步到你更新过程里;

  2. file和listview控件的属性(上面我提到的两个)都设置成1;

  3. 设置一个模块级变量(这里是CSTT,Dim CSTT),用来存储文件名;

  4. 现在listview的mousemove事件中获取当前的文件选择;

  5. 然后在listview的拖弋事件中找到文件对应file中的位置,将其设置成file的当前选定,激活file的拖弋动作。

Private Sub ListView1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
    If Button = 1 Then CSTT = ListView1.SelectedItem
    For x = 0 To File1.ListCount - 1
        If File1.List(x) = CSTT Then
            File1.Selected(x) = True
            Exit For
        End If
    Next
    File1.OLEDrag

End Sub

这样就能做到文件复制了。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式