首页 | 社区 | 博客 | 招聘 | 文章 | 新闻 | 下载 | 项目交易 | 网友作品 | 读书 | ACM题库 | 源码
亲,您未登录哦! 登录 | 注册

从Windows资源管理器中拖动文件

(加入日期: 2003-06-05 )

打印文章】【字体:

分享到:
这里我们主要简单的讨论一下,如何从Windows资源管理器中拖动一组文本,然后将它们拖放到一个文本框控件中就可将文件全部打开。
为了说明这一点,以下过程可用一个文本框控件以及OLEDragOver和OLEDragDrop事件,并用DataObject对象中的Files属性和vbCFFiles数据格式打开一组文本文件。

首先在Visual Basic中启动新的工程。向窗体添加一个文本框控件并将其OLEDropMode属性设置为"手工"。将MultiLine属性设置为True,将ScrollBars设为2-Vertical,并清除Text属性

代码如下:

Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Data.GetFormat(vbCFFiles) Then
        For Each vfn In Data.Files '循环打开文件
            Open vfn For Input As #1
            Do While Not EOF(1)
                Line Input #1, linefile
                Text1 = Text1 & linefile & vbCrLf
            Loop
            Close #1
        Next vfn
    End If
End Sub

下列事件中,用GetFormat方法检测兼容的数据格式(vbCFFiles)
Private Sub Text1_OLEDragOver(Data As 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

本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )

编程爱好者论坛

本栏最新文章