这里我们主要简单的讨论一下,如何从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 |