OLE拖动
Private Sub TxtViewBox_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single)If Data.GetFormat(vbCFFiles) Then '如果OLE拖动的数据是文件,如资源管理器,我的电脑里传过来的,
If Data.Files.Count = 1 Then '如果传进的文件个数等于1
Call 读文件(Data.Files.Item(1)) '打开文件
Else
Effect = vbDropEffectNone '否则拒绝接受
End If
Else
Effect = vbDropEffectNone '对应判断数据类型,拒绝接受
End If
'MsgBox i
End Sub
Private Sub TxtViewBox_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 '如果OLE拖动的数据是文件,如资源管理器,我的电脑里传过来的,
If Data.Files.Count <> 1 Then '如果传进的文件个数不等于1
Effect = vbDropEffectNone '拒绝接受
End If
Else
Effect = vbDropEffectNone '拒绝接受
End If
End Sub
研究了2天,那时没办法上网,才研究了这么一个东西。
从资源管理器里拖一个文件来时,就打开,拖二个或以上的文件,就不允许放下,拖其它数据过来,也不允许放下。
注意这个控件的OLE拖动模式要设为手动。