VB控件间的拖放

新建工程,放置控件Picture1,Text1,Text2,复制下面的代码运行

Text1和Text2可以互相拖放,也可以将Picture1拖放给Text1,Text2.

Private Sub Form_Load()
Picture1.OLEDragMode =
Text1.OLEDropMode =
Text1.OLEDragMode =
Text2.OLEDropMode =
Text2.OLEDragMode =
End Sub Private Sub Picture1_OLEStartDrag(Data As DataObject, AllowedEffects As Long)
AllowedEffects =
Data.Clear
Data.SetData "来自Picture1", '设置拖放的内容
End Sub Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim s As String
s = Data.GetData()
Text1.SelLength =
Text1.SelText = s '在光标处插入
End Sub
Private Sub Text1_OLEStartDrag(Data As DataObject, AllowedEffects As Long)
AllowedEffects =
Data.Clear
Data.SetData Text1.SelText, '设置拖放的内容
End Sub Private Sub Text2_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim s As String
s = Data.GetData()
Text2.SelLength =
Text2.SelText = s '在光标处插入
End Sub
Private Sub Text2_OLEStartDrag(Data As DataObject, AllowedEffects As Long)
AllowedEffects =
Data.Clear
Data.SetData Text2.SelText, '设置拖放的内容
End Sub

关于事件疑问自行百度,这里说明一下Data.SetData:

语法

object.SetData [data], [format]

SetData 方法语法包含下面部分:

部分 描述
object 必需的。对象表达式,其值是“应用于”列表中的一个对象。
data 可选的变体型,包含要传送到 DataObject 对象的数据。
format 可选的常数或值,规定所传送数据的格式,如“设置值”中所述。

设置值

format 设置如下:

常数 描述
vbCFText 1 文本(.txt文件)
vbCFBitmap 2 位图(.bmp文件)
vbCFMetafile 3 元文件(.wmf文件)
vbCFEMetafile 14 增强元文件(.emf 文件)
vbCFDIB 8 设备无关位图 (DIB)
vbCFPalette 9 调色板
vbCFFiles 15 文件列表
vbCFRTF -16639 丰富文本格式(.rtf文件)
上一篇:Linux上mysql的安装与配置


下一篇:WebStorm 快捷键收藏