• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • VB中用API實現文件拖放

    發表于:2007-05-25來源:作者:點擊數: 標簽:api拖放中用對于每個
    對于每個需要引用的API函數,我們需要先在程序中說明,如果只在某一窗體內聲明并使用它,則把它聲明為Private,而如果在模塊中聲明,且需要在整個工程內使用它,則需要把它聲明為Public。 Public Declare Function CallWindowProc Lib user32 Alias CallWind
     對于每個需要引用的API函數,我們需要先在程序中說明,如果只在某一窗體內聲明并使用它,則把它聲明為Private,而如果在模塊中聲明,且需要在整個工程內使用它,則需要把它聲明為Public。

    Public Declare Function CallWindowProc& Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc&, ByVal hWnd&, ByVal Msg&, ByVal wParam&, ByVal lParam&)
       Public Declare Sub DragAclearcase/" target="_blank" >cceptFiles 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函數的作用是在窗口結構中為指定的窗口設置屬性,利用它我們來改變窗口的屬性參數,其中各個參數的意義如下表所示:

    參數 意義
    hwnd Long,欲為其取得信息的窗口的句柄
    nIndex Long,這里取GWL_WNDPROC,表示設置該窗口的窗口函數的地址
    dwNewLong Long,由nIndex指定的窗口信息的新值

      返回值 Long,指定數據的前一個值

      在默認狀態下WINDOWS操作系統會指定一個窗口函數來接受和處理WINDOWS消息,而通過使用SetWindowLong函數改變窗口函數的地址使它指向我們自己寫的一個函數WindowProc,這樣WINDOWS消息就會轉由WindowProc函數接收和處理。于是我們就能判斷文件拖放的消息并進行處理。改變窗口屬性的語句如下:

    procOld = SetWindowLong(Me.hwnd, GWL_WNDPROC, AddressOf WindowProc)

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

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>