标题:OLE拖动
只看楼主
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
结帖率:100%
 问题点数:0 回复次数:2 
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拖动模式要设为手动。
搜索更多相关主题的帖子: OLE 拖动 
2008-10-16 00:50
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
第一个过程是 放下后的事件,
第二个过程是 拖过来,没松鼠标时,产生的事件

等这个程序完全优化好了后,打包发出来。
2008-10-16 00:59
nmcfbgttyl
Rank: 2
等 级:论坛游民
帖 子:11
专家分:15
注 册:2013-1-2
得分:0 
Call 读文件(Data.Files.Item(1))     '打开文件

老师,读文件函数呢?
2019-12-28 16:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-238554-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012867 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved