快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

和记娱h88_机器人论坛



对付每个必要引用的API函数,我们必要先在法度榜样中阐明,假如只在某一窗体内声明并应用它,则把它声明为Private,而假如在模块中声明,且必要在全部工程内应用它,则必要把它声明为Public。

Public Declare Function CallWindowProc& Lib "user32" Alias 和记娱h88"CallWindowProcA" (ByVa和记娱h88l lpPrevWndFunc&, ByVal hWnd&, ByVal Msg&, ByVal wP和记娱h88aram&, 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函数的感化是在窗口布局中为指定的窗口设置属性,使用它我们来改变窗口的属性参数,此中各个参数的意义如下表所示:

参数

意义

hwnd

Long,欲为其取得信息的窗口的句柄

nIndex

Long,这里取GWL_WNDPROC,表示设置该窗口的窗口函数的地址

dwNewLong

Lon和记娱h88g,由nIndex指定的窗口信息的新值

返回值 Long,指定命据的前一个值

在默认状态下WINDOWS操作系统会指定一个窗口函数来吸收和处置惩罚WINDOWS消息,而经由过程应用SetWindowLong函数改变窗口函数的地址使它指向我们自己写的一个函数WindowProc,这样WINDOWS消息就会转由WindowProc函数接管和处置惩罚。于是我们就能判断文件拖放的消息并进行处置惩罚。改变窗口属和记娱h88性的语句如下:

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

DragAcceptFiles、DragQueryFile、DragFinish三个函数的感化分手是:把某个窗口设置为接管拖放的容器、返回拖放的文件的数量和信息、终止拖放。

您可能还会对下面的文章感兴趣: