六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

用VB完成網絡螞蟻的拖放窗口

[摘要]作者:武漢 艾軍在網絡螞蟻的查看菜單中,有菜單項名叫"拖放窗口",當我們需要下載文件時,只要把網頁中的超鏈接拖到這個"窗口"里就能順序的進行文件的下載,下面我們就在 VB 中嘗試制做這種"拖放窗口"。第一步,我們先要使"窗口&q...
作者:武漢 艾軍

在網絡螞蟻的查看菜單中,有菜單項名叫"拖放窗口",當我們需要下載文件時,只要把網頁中的超鏈接拖到這個"窗口"里就能順序的進行文件的下載,下面我們就在 VB 中嘗試制做這種"拖放窗口"。
第一步,我們先要使"窗口"永遠顯示在第一位。
因為我們在瀏覽網頁時,要開許多 IE 窗口,那當然不能讓這個拖放窗口被 IE 窗口覆蓋到,這個技巧可以用 API 函數 SetWindowPos 來實現。
第二步,我們要制作無邊框的窗口。(沒有標題欄)
因為這樣看起來比較專業,這個技巧比較容易,可以通過設置 Form 的 BorderStyle 屬性來實現。
第三步,我們要能用鼠標拖動這個窗口。
因為我們的第二步操作,由于這個窗口沒有了標題欄,只能通過 API 函數 ReleaseCapture、SendMessage 來實現窗口的拖動。
第四步,我們要使這個窗口接受拖放。(就是拖超鏈接呀)
這步最關鍵,不過也最簡單,只要設置 Form 的OLEDropMode 屬性就行了。
好了,步驟完成,現在開始程序的完整代碼了:
Private Declare Function ReleaseCapture Lib "user32" () As Long 注釋:釋放鼠標捕獲
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long 注釋:向窗口進程發送消息
Const HTCAPTION = 2
Const WM_NCLBUTTONDOWN = &HA1

Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2
Const HWND_TOPMOST = -1
Const SWP_SHOWWINDOW = &H40
Const strWebSite = "你拖放的是網頁地址,地址是"
Const strWebImage = "你拖放的是網頁圖象,圖象將保存到PictureBox中"
     
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long        注釋:設置窗口大小、位置、順序
   
Private Sub Form_Load()

注釋:窗口的屬性分別為:(請在設計窗口中定義)
注釋:Form1.Height = 570
注釋:Form1.Left = 150
注釋:Form1.Top = 200
注釋:Form1.Width = 570
注釋:Form1.BackColor = &HFFFF00
注釋:Form1.BorderStyle = 1
注釋:Form1.OLEDropMode = 1 注釋:使Form1可以接受OLE拖放
注釋:Form1.ControBox=False

    SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE Or SWP_SHOWWINDOW 注釋: 使用Windows API函數SetWindowPos將窗口設置為總在最前面以捕捉拖放操作
End Sub

Private Sub Form_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single) 注釋:拖放操作時發生
On Error Resume Next
    Effect = vbDropEffectCopy
    If Data.GetFormat(vbCFText) Then        注釋:拖放的是網頁地址
        MsgBox strWebSite + Data.GetData(vbCFText)
    ElseIf Data.GetFormat(vbCFDIB) Then     注釋:拖放的是網頁圖象
        MsgBox strWebImage
    End If
End Sub

Private Sub Form_DblClick()
    Unload Me 注釋:雙擊窗口時,退出程序
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
ReleaseCapture
SendMessage hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0& 注釋:使窗口可以通過鼠標拖動
End Sub



OK,至此所有的工作都已完成,大家可以自己運行程序試一試,打開網頁拖動 1 個超鏈接到這個窗口,將通過 MsgBox 顯示該超鏈接的地址,如果拖動是的一個圖像,則顯示是一個圖像。
這只是一個簡單的例子,在此基礎上進一步修改完善就可以運用到其他的許多方面 ,這些就留給朋友自己去思考吧。程序在 VB6.0、Windows 98 下運行良好,如果大家對此還有什么問題,請到 www.d1vb.com 來一起討論。(對編輯的話:這是一個 VB 論壇,我總在上面)。


主站蜘蛛池模板: 亚洲天堂视频在线观看免费 | 亚洲伊人久久大香线蕉啊 | 日韩欧美网站 | 天天干在线播放 | 自拍亚洲 | 亚洲女人被黑人巨大进入 | 日本最新中文字幕 | 日韩国产三级 | 天天玩天天操 | 天天av天天翘天天综合网 | 欧美综合中文字幕久久 | 青草视频免费在线观看 | 日韩色影院 | 欧美一区二区福利视频 | 亚洲青青草原 | 天天骑天天干 | 日韩免费精品视频 | 四虎影视com88| 色尼玛图| 色狠狠色综合吹潮 | 亚洲最大成人综合网 | 日韩国产成人资源精品视频 | 日本一本在线观看 | 五月天婷婷亚洲 | 色综合久久88 | 小明www永久在线看 小黄鸭b站视频在线 | 视频在线观看h | 一本伊人 | 青娱乐福利 | 五月综合色 | 午夜精品久久久久久中宇 | 日本在线高清视频 | 青草视频在线免费观看 | 日本不卡免费新一区二区三区 | 日产精品卡二卡三卡四卡乱码视频 | 手机看片自拍自拍自拍自视频 | 性免费网站 | 武则天一级淫片免费 | 深爱开心激情 | 青青青爽国产在线视频 | 中国女人特级毛片 |