none
VB6 RichText文件拖放问题 RRS feed

  • 问题

  •  

    做一个信息发送程序,可以发送附件或者导入txt文本到该RichTextBox中,为方便操作,允许用户直接拖放文件,如果该文件是文本类型则直接将文本显示在该文本框中,否则将其添加到附件列表

     

    现在的问题是,在oleDragDrop事件当中不能获取拖放数据的文件名用data.files.count也不能获取拖放的文件个数

     

    该如何实现获取RichTextBox拖放文件的文件名?

    2009年1月13日 13:30

答案

  • Code Snippet

    RichTextBox1.OLEDropMode = 1

     

    Private Sub RichTextBox1_OLEDragDrop(Data As RichTextLib.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single)
    MsgBox Data.Files.Item(1)
    End Sub

     

     

    2009年1月14日 4:10
    版主

全部回复

  • Code Snippet

    RichTextBox1.AllowDrop = True

     

    Private Sub RichTextBox1_DragEnter(ByVal sender As Object, _
       ByVal e As System.Windows.Forms.DragEventArgs) _
       Handles RichTextBox1.DragEnter
            If (e.Data.GetDataPresent(DataFormats.FileDrop)) Then
                e.Effect = DragDropEffects.Copy
            Else
                e.Effect = DragDropEffects.None
            End If
        End Sub

     

        Private Sub RichTextBox1_DragDrop(ByVal sender As Object, _
       ByVal e As System.Windows.Forms.DragEventArgs) _
       Handles RichTextBox1.DragDrop
            MsgBox(e.Data.GetData("FileNameW")(0))
        End Sub

     

     

    2009年1月14日 1:55
    版主
  •  feiyun0112 写:

    Code Snippet

    RichTextBox1.AllowDrop = True

     

    Private Sub RichTextBox1_DragEnter(ByVal sender As Object, _
       ByVal e As System.Windows.Forms.DragEventArgs) _
       Handles RichTextBox1.DragEnter
            If (e.Data.GetDataPresent(DataFormats.FileDrop)) Then
                e.Effect = DragDropEffects.Copy
            Else
                e.Effect = DragDropEffects.None
            End If
        End Sub

     

        Private Sub RichTextBox1_DragDrop(ByVal sender As Object, _
       ByVal e As System.Windows.Forms.DragEventArgs) _
       Handles RichTextBox1.DragDrop
            MsgBox(e.Data.GetData("FileNameW")(0))
        End Sub

     

     

     

    是VB6不是.NET.......

    2009年1月14日 3:44
  • Code Snippet

    RichTextBox1.OLEDropMode = 1

     

    Private Sub RichTextBox1_OLEDragDrop(Data As RichTextLib.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single)
    MsgBox Data.Files.Item(1)
    End Sub

     

     

    2009年1月14日 4:10
    版主
  • 还是不行唉.....不过还是非常感谢你的回答,我估计RichTextBox的OleDrag..系列的方法都用不上,只考虑换其他方法做

    2009年1月14日 6:26