從Windows資源管理器中拖動文件
發表于:2007-07-14來源:作者:點擊數:
標簽:
這里我們主要簡單的討論一下,如何從 Windows 資源管理器中拖動一組文本,然后將它們拖放到一個文本框控件中就可將文件全部打開。 為了說明這一點,以下過程可用一個文本框控件以及OLEDragOver和OLEDragDrop事件,并用DataObject對象中的Files屬性和 vb CFFi
這里我們主要簡單的討論一下,如何從
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
原文轉自:http://www.anti-gravitydesign.com