国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
采用API實(shí)現(xiàn)的文件拖放
 

  借助API函數(shù)CallWindowProc,DragAcceptFiles,DragQueryFile,DragFinish同樣可以實(shí)現(xiàn)文件從資源管理器EXPLORE到應(yīng)用程序的拖放,另一種方法是采用OLE拖放,可以參照趣味編程欄目的相關(guān)內(nèi)容。下面我們一起來(lái)看看程序編寫(xiě)的過(guò)程。

  為了學(xué)習(xí)方便,提供的源碼已經(jīng)作了詳細(xì)的中文注釋?zhuān)纯丛创a框中的代碼:


 

  對(duì)于每個(gè)需要引用的API函數(shù),我們需要先在程序中說(shuō)明,如果只在某一窗體內(nèi)聲明并使用它,則把它聲明為Private,而如果在模塊中聲明,且需要在整個(gè)工程內(nèi)使用它,則需要把它聲明為Public。
   Public Declare Function CallWindowProc& Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc&, ByVal hWnd&, ByVal Msg&, ByVal wParam&, ByVal lParam&)
   Public Declare Sub DragAcceptFiles Lib "shell32.dll" (ByVal hWnd&, ByVal fAccept&)
   Public Declare Function DragQueryFile& Lib "shell32.dll" Alias "DragQueryFileA" (ByVal hDrop&, ByVal iFile&,ByVal lpszFile$, ByVal cch&)
   Public Declare Sub DragFinish Lib "shell32.dll" (ByVal hDrop&)
   Private Declare Function SetWindowLong& Lib "user32" Alias "SetWindowLongA" (ByVal hWnd&,ByVal nIndex&, ByVal dwNewLong&)

  SetWindowLong函數(shù)的作用是在窗口結(jié)構(gòu)中為指定的窗口設(shè)置屬性,利用它我們來(lái)改變窗口的屬性參數(shù),其中各個(gè)參數(shù)的意義如下表所示:

參數(shù)
意義
hwnd Long,欲為其取得信息的窗口的句柄
nIndex Long,這里取GWL_WNDPROC,表示設(shè)置該窗口的窗口函數(shù)的地址
dwNewLong Long,由nIndex指定的窗口信息的新值
返回值 Long,指定數(shù)據(jù)的前一個(gè)值

  在默認(rèn)狀態(tài)下WINDOWS操作系統(tǒng)會(huì)指定一個(gè)窗口函數(shù)來(lái)接受和處理WINDOWS消息,而通過(guò)使用SetWindowLong函數(shù)改變窗口函數(shù)的地址使它指向我們自己寫(xiě)的一個(gè)函數(shù)WindowProc,這樣WINDOWS消息就會(huì)轉(zhuǎn)由WindowProc函數(shù)接收和處理。于是我們就能判斷文件拖放的消息并進(jìn)行處理。改變窗口屬性的語(yǔ)句如下:
   procOld = SetWindowLong(Me.hwnd, GWL_WNDPROC, AddressOf WindowProc)

  DragAcceptFiles、DragQueryFile、DragFinish三個(gè)函數(shù)的作用分別是:把某個(gè)窗口設(shè)置為接收拖放的容器、返回拖放的文件的數(shù)量和信息、終止拖放。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
VB api 中級(jí)
在VB的ListView中動(dòng)態(tài)加載記錄
在Visual Basic中如何拖動(dòng)窗體或控件_VB窗體文章_VB_編程開(kāi)發(fā)_芯友網(wǎng)
用API函數(shù)控制聲卡音量大小
VB使用API的簡(jiǎn)明教程
VBA 窗體之去除窗體關(guān)閉按鈕
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服