100分请教,VB中的OLE拖放,如有实例追加到500分

来源:百度知道 编辑:UC知道 时间:2024/06/29 01:19:05
问题一[100分]
两个image控件分别装入两张图片,怎样利用OLE进行互相拖放,实现图片调互??

请教实例:[500分]
功能:两个image控件,能够接受从外部拖入的图片并显示。也能够相互之间拖入,并互换图片显示。

'复制到VB代码里面慢慢的看吧!
'------------------------------------------
'程序说明:
'本例是实现文件从EXPLORE到VB应用程序拖放的又一种
'方法,与采用API函数实现的方法相比,这种方法更简
'单易懂。
'OLE拖放是可在 Visual Basic 应用程序中添加的最强
'大、最有用的功能之一就是在控件和控件之间、在控件
'和其它 Windows 应用程序之间拖动文本和图形。有了
'OLE,就可将这种功能引入到应用程序中。
'------------------------------------------

Option Explicit

Private Sub Form_Load()

'经过声明Picture1成为接受文件拖放的一个OLE容器
Picture1.OLEDropMode = 1
End Sub

Private Sub Picture1_OLEDragDrop(data As DataObject, effect As Long, button As Integer, shift As Integer, x As Single, y As Single)
Dim i As Integer
'检查放下的东西是不是文件名
If data.GetFormat(vbCFFiles) = True Then

Dim sFileName$

'只读取第一条记录的信息
sFileName = data.Files(1)

'如果不是图片文件则转向错误处理
On Error GoTo invalidPicture

'依次读取各条记录,并把文件名添加在列表框中