vb 拖放操作

来源:互联网 发布:ommit mysql 编辑:程序博客网 时间:2024/05/25 05:37

VB 中,支持拖放操作的控件具有下面属性、方法和事件
■■■属性
▲OLEDropMode:如何处理放下操作
     0 目标部件不接受 OLE 放操作
     1 人工。触发 OLEDragOver(移动) 和 OLEDragDrop(放下) 事件
     2 自动。部件自动处理 OLE 放操作
▲OLEDragMode:如何处理启动拖操作
     0 人工处理拖放操作。必须调用 OLEDrag 方法启动拖放,进而触发 OLEStartDrag 事件。
     1 自动,自动触发 OLEStartDrag、OLEGiveFeedback、OLECompleteDrag 事件
     控件的 DragMode 属性被设为 Automatic,则 OLEDragMode 被忽略,因为常规的拖放事件优先发生

■■■方法
▲OLEDrag:触发 OLEStartDrag 事件,允许向目标部件提供数据。

■■■事件
▲OLEDragDrop(Data,Effect,Button,Shift,X,Y)      放下对象
      Data :用于拖放操作传递数据的 DataObject 对象
      Effect:识别执行的动作,这样当部件被移动后允许源采取适当的动作
     ' 0 放目标不接受数据
     ' 1 数据保存于从源到目标的数据拷贝中。初始数据没有被拖放操作改变。
     ' 2 数据从拖源移到放源。移动后,拖源会删除数据。
▲OLEDragOver(Data,Effect,Button,Shift,X,Y,State)    对象在目的上移动
    类似于 Move 事件,在此过程中设置 Effect=0,不会触发 OLEDragDrop 放下事件
      Effect:除有 OLEDragDrop 事件的 Effect 含义外,还有(&H80000000):在目标部件中,滚动正在或将要发生
▲OLESetData(Data,DataFormat)    当目标部件在源的 DataObject 对象上执行 GetData 方法,但是还没有加载规定格式的数据时,在源部件上发生。
▲OLEStartDrag(Data,AllowedEffects)    当部件的 OLEDrag 方法被执行时,或者在 OLEDragMode 属性被设为 Automatic,部件初始化 OLE 拖放操作时发生。
    此事件指定源部件支持的数据格式和放效果。也可用于向 DataObject 对象中插入数据。
      AllowedEffects:含义与 OLEDragDrop 事件的 Effect 同
▲OLEGiveFeedback(Effect,Defaultcursors)    在每个 OLEDragOver 事件后发生。OLEGiveFeedback 允许源部件提供可视的反馈。例如通过改变鼠标的图标来表明放
    目标后将发生什么,或者在选项上提供可视的反馈(在源部件中)以指出将发生什么。
      Effect:含义与 OLEDragOver 事件的 Effect 同
      Defaultcursors:使用部件缺省鼠标图标,还是自定义鼠标图标
▲OLECompleteDrag(Effect)    当源部件被放到目标部件时发生,并通知源部件拖放操作被执行或取消。是 OLE 拖放操作最后调用的事件

'──────────────
■■■DataObject 对象,用于拖放操作传递数据,这是事件 OLEStartDrag,OLEDragDrop,OLEDragOver 中的第一个参数用于传递数据的对象。
   ★属性
      ▲Files 文件名的列表,只有当对象包含 vbCFFiles 类型的数据时,Files 集合才可访问。
   ★方法
      ▲Clear 删除 DataObject 对象的内容
      ▲SetData [data,format] :将数据用指定的格式插入 DataObject 对象。
      ▲GetFormat(format):判断对象中的一项是否与 format 匹配
      ▲GetData(format) :从 DataObject 对象返回数据
         vbCFText       1 文本
         vbCFBitmap     2 位图
         vbCFMetafile   3 元文件(.wmf文件)
         vbCFEMetafile 14 增强元文件(.emf 文件)
         vbCFDIB        8 与设备无关的位图 (DIB)
         vbCFPalette    9 调色板
         vbCFFiles     15 文件列表
         vbCFRTF   -16639 rtf文本



例子代碼:

 

 

 

原创粉丝点击