none
如何实现文件拖曳功能?使用的是VB6,winform RRS feed

  • 问题

  • 我制作了个公司档案管理系统,其中想把文件拖曳到listview列表视图时,把文件存入数据库,有没有相关的实现代码?

    2009年5月23日 3:59

答案



  • ListView1.OLEDropMode =VbOLEDropManual

    Private Sub ListView1_OLEDragOver(Data As MSComctlLib.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single, State As Integer)
    If Data.GetFormat(vbCFFiles) Then
        Effect = vbDropEffectCopy And Effect
        Exit Sub
    End If

    Effect = vbDropEffectNone

    End Sub


    Private Sub ListView1_OLEDragDrop(Data As MSComctlLib.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single)
    If Data.GetFormat(vbCFFiles) Then
        Dim vFN
       
        For Each vFN In Data.Files
            '得到文件名, 操作数据库
            MsgBox vFN
        Next vFN
    End If

    End Sub


    http://feiyun0112.cnblogs.com/
    2009年5月25日 2:02
    版主

全部回复



  • ListView1.OLEDropMode =VbOLEDropManual

    Private Sub ListView1_OLEDragOver(Data As MSComctlLib.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single, State As Integer)
    If Data.GetFormat(vbCFFiles) Then
        Effect = vbDropEffectCopy And Effect
        Exit Sub
    End If

    Effect = vbDropEffectNone

    End Sub


    Private Sub ListView1_OLEDragDrop(Data As MSComctlLib.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single)
    If Data.GetFormat(vbCFFiles) Then
        Dim vFN
       
        For Each vFN In Data.Files
            '得到文件名, 操作数据库
            MsgBox vFN
        Next vFN
    End If

    End Sub


    http://feiyun0112.cnblogs.com/
    2009年5月25日 2:02
    版主
  • 你好,根据你上面的代码,已经可以实现文件拖曳功能,但我还不知道怎样获取此文件名和当前路径,能否有相关代码?谢谢
    2009年5月25日 3:48
  • MsgBox vFN
    不是已经包含了全路径的文件名吗
    http://feiyun0112.cnblogs.com/
    2009年5月25日 4:30
    版主
  • MsgBox vFN
    不是已经包含了全路径的文件名吗
    http://feiyun0112.cnblogs.com/

    谢谢,已经完成所要的功能,代码如下:
    Private Sub ListView1_OLEDragDrop(Data As MSComctlLib.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single)
    Dim strPath As String
    Dim curdir As String
    nIndex = 1
    'With nCount = Data.Files.Count
    'For nIndex = 1 To nCount
    strPath = strPath & Data.Files.Item(nIndex)
    FileName = Dir(strPath)
    'Next
    ' End With
    'text1(文档路径) text2(文档标题),text3是备注信息,combo1是文档类别,
      MsgBox "文件的路径" & Trim(strPath)
      MsgBox "文件名" & FileName
    endsub
    2009年5月26日 1:20