用VB实现网络蚂蚁的拖放窗口

用VB实现网络蚂蚁的拖放窗口,第1张

用VB实现网络蚂蚁的拖放窗口,第2张

在netants的视图菜单中,有一个名为“拖放窗口”的菜单项。当我们需要下载文件时,我们可以通过将网页中的超链接拖动到这个“窗口”中来依次下载文件。这里我们将尝试在VB中制作这个“拖放窗口”。

第一步,让“窗口”永远出现在第一位。

因为我们在浏览网页的时候,要打开很多IE窗口,所以当然不能让这个拖拽窗口被IE窗口覆盖。这个技巧可以通过使用API函数SetWindowPos来实现。

第二步,做一个无边框窗口。(无标题栏)

因为看起来更专业,所以这种技术更容易,可以通过设置表单的BorderStyle属性来实现。

第三步,我们应该能用鼠标拖动这个窗口。

因为我们的第二个操作,因为这个窗口没有标题栏,所以只能通过API函数ReleaseCapture和SendMessage来拖动窗口。

第四步,我们想让这个窗口接受拖放。(只需拖动超链接。)

这一步最关键,但也是最简单的,只需设置表单的OLEDropMode属性。

好了,步骤完成,现在开始程序的完整代码:
Private declare函数release capture Lib " user 32 "()As Long注释:release mouse capture
Private Declare函数SendMessage Lib " user 32 " Alias " SendMessage a "(ByVal hwnd As Long、ByVal wMsg As Long、ByVal wParam As Long、LParam As Any) As Long注释:向窗口发送消息process
const ht caption = 2
const WM _ nclbutton

Const SWP _ no size = & h1
Const SWP _ no move = & H2
Const hwnd _ most =-1
Const SWP _ show window = & H40
Const str website = "你拖放的是网址,地址是"
Const strWebImage = "你拖放的是网页图片,会保存在PictureBox中"

私有声明函数setwindowpos lib" user byval y as long、byval cx as long、byval cy as long、byval w flags as long) as long注释:设置窗口大小、位置和顺序

私有子form _ load()

注意:窗口的属性是:(请在设计窗口中定义)
注意:Form1。Height = 570
注:Form1。Left = 150
注:Form1。Top = 200
注:form1.width =注释:form1 . back color = & hfffff 00
注释:form 1。BorderStyle = 1
注释:Form1。OLEDropMode = 1注释:使form1接受OLE拖放
注释:Form1。ControBox=False

SetWindowPos me.hwnd,hwnd _ most,0,0,0,0,SWP _ no move或SWP _ no size或SWP _ show window备注:使用Windows API函数SetWindowPos始终将窗口设置在前面以捕捉拖放操作
End Sub

private Sub Form _ OLEDragDrop(Data As Data object,Effect As Long,Button As Integer,Shift As Integer,x As Single,As Single)注意:拖放操作发生在
error resume next
Effect = vbdropfeffectcopy
if Data。getformat (vbcftext)然后注意:网页地址拖放
Msboxstr website+data . get data(vbcftext)
else if data . get format(vbcfdib)然后注意:你拖放的是一个网页图片
msgboxstrwebimage
end if
end sub。

private form _ dblclick()
unload me注意:双击窗口时,退出程序
End Sub

private form _ mousedown(button as integer,shift as integer,x as single,y as single)
release capture
sendmessage hwnd,WM _ nclbuttondown,htcaption,0 &注意:使窗口可以被鼠标拖动
End Sub

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 用VB实现网络蚂蚁的拖放窗口

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情