这里以我的软件“文章管理系统”为例解释一下OLE拖放在VB中的应用:
在窗体中添加一个Image控件,在它的imgDrop_OLEDragDrop过程中添加如下代码:
Private Sub imgDrop_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim strTmp
If Data.GetFormat(15) Then
Dim strFileName as String
strFileName = GetFileName(Data.Files(1))
............
End If
If Data.GetFormat(1) Then
Dim strContent as String
strContent=Data.GetData(1)
.................
End If
End Sub
解释:
1、想得到被拖放的数据之前需对被拖放的数据进行类型判断,不同类型的数据不同处理。
2、常用的数据类型主要是文本、文件列表,文件列表可以使用For Each得到全部内容。
3、详细资料、数据类型列表请查阅MSDN的GetData, GetFormat的用法。
网页上的图片拖放结果得到的是缓存中的文件地址,是文件列表类型的数据。具体情况还要靠大家自己研究。
PS:
word中对网页文件进行拖放操作可以得到图像(word应该只得到了图像的URL,然后从互联网下载该图像)及HTML格式,这是怎么实现的呢?如果大家知道请指教。