使用VB實現OLE拖放功能

evancss發表於2004-11-19
這裡以我的軟體“文章管理系統”為例解釋一下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格式,這是怎麼實現的呢?如果大家知道請指教。

相關文章