const FileNames: TStrings;const FilesCount: Integer; const DropPoint: TPoint) of object;} procedure TForm1.Button1Click(Sender: TObject); begin uDragging:= TlxpDraggingFilesMonitor.Create(self); uDragging.AcceptFilesControl:=Panel1; uDragging.OnDropFiles :=DropFiles; Button1.Enabled:=false; ...
{覆盖Form1 的窗口过程WndProc,这样就可以捕获WM_DROPFILES 消息} procedure TForm1.WndProc(var Message: TMessage); var Count, Index, hDrop: Integer; PFileName: PChar; begin if Message.Msg = WM_DROPFILES then begin hDrop := Message.WParam; {取得系统drop 结构的句柄,在后面要用到它} GetMem(PFi...
使窗口支持Windows Shell的文件拖放功能简单的方式是使用Windows API: DragAcceptFiles,然后使用Delphi的VCL消息函数重载机制处理WM_DROPFILES消息,调用DragQueryFile即可. DragAcceptFiles Function --- Registers whether a window accepts dropped files. Syntax VOID DragAcceptFiles( HWND hWnd, BOOL fAccept ); Parameters h...
能不能给TPanel增加接收 WM_DROPFILES 的方法呢。 前提是不需要重新编译TPanel控件。编写一个继承类的话就不能放在界面上了。除非编成可视控件。 Uses StdCtrls,ShellApi; type TDragMemo = class(TMemo) procedure DragFileProc(var Msg:TMessage);message WM_DROPFILES; end; TForm1 = class(TForm) procedure...
(Delphi)窗体 让窗体接受拖放, 并获取拖过来的文件信息 原理分析: 这需要用到ShellAPI单元的两个函数:DragAcceptFiles、DragQueryFile; 用DragAcceptFiles(窗口句柄,True);以让窗口能够接受拖放; 然后就等待WM_DROPFILES消息,并用DragQueryFile函数处理消息参数,从而获取信息. --- 代码文件: --- unitUnit1; in...
//1、使程序能接收WM_DROPFILES消息; //2、在WM_DROPFILES消息的响应程序中取得被拖放的文件名,然后进行相应处理。 //使程序能接收WM_DROPFILES消息 //首先,需要调用WINAPIDragAcceptFiles(Handle,True); //其中的Handle为要接收WM_DROPFILES消息的控件的Handle。 //例如,我们要让RichEdit接收该消息,则调用形式为:...
内容索引:Delphi源码,系统相关,文件拖放 Delphi以拖放的方式打开你想要的文件,直接拖放文件到窗体的光标处即可,程序将自动获取文件路径和名称。当文件拖放至窗体中后,系统将向窗体发送WM_DRAPFILES事件,因此我们可以在WMDROPFILES过程中获取文件总数及文件名。当程序启动时,启用文件拖放功能。当第二个参数True时,启用文件...
WM_MDIGETACTIVE = $0229; 程序 发送此消息给MDI客户窗口来找到激活的子窗口的句柄 WM_MDISETMENU = $0230; 程序 发送此消息给MDI客户窗口用MDI菜单代替子窗口的菜单 WM_ENTERSIZEMOVE = $0231; WM_EXITSIZEMOVE = $0232; WM_DROPFILES = $0233;
WM_DROPFILES = $0233; WM_MDIREFRESHMENU = $0234; WM_MOUSEHOVER = $02A1; WM_MOUSELEAVE = $02A3; WM_CUT = $0300; 程序发送此消息给一个编辑框或combobox来删除当前选择的文本 WM_COPY = $0301; 程序发送此消息给一个编辑框或combobox来复制当前选择的文本到剪贴板 WM_PASTE = $0302; 程序发送...
DragQueryFile函数用来查询拖放文件的文件名,其 本身的返回值是一个无符号整数,参数hDrop是一个存放所拖放文件名称的数据结构的句柄, 也就是文件名缓冲区的句柄,需要从Windows消息WM_DROPFILES中获得.iFile指明所要查询 文件的序号,它有两种取值方式,1.值为十六进制数FFFFFFFF时,DragQueryFile的返回值为 所拖放文件的数...