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...
TForm1 = class(TForm) Memo1: TMemo; procedure FormCreate(Sender: TObject); private { Private declarations } public procedure WMDropFiles(var message:TMessage);message WM_DROPFILES; { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure tform1.WMDropFiles(var me...
使窗口支持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...
内容索引:Delphi源码,系统相关,文件拖放 Delphi以拖放的方式打开你想要的文件,直接拖放文件到窗体的光标处即可,程序将自动获取文件路径和名称。当文件拖放至窗体中后,系统将向窗体发送WM_DRAPFILES事件,因此我们可以在WMDROPFILES过程中获取文件总数及文件名。当程序启动时,启用文件拖放功能。当第二个参数True时,启用文件...
能不能给TPanel增加接收 WM_DROPFILES 的方法呢。 前提是不需要重新编译TPanel控件。编写一个继承类的话就不能放在界面上了。除非编成可视控件。 Uses StdCtrls,ShellApi; type TDragMemo = class(TMemo) procedure DragFileProc(var Msg:TMessage);message WM_DROPFILES; ...
DragQueryFile函数用来查询拖放文件的文件名,其 本身的返回值是一个无符号整数,参数hDrop是一个存放所拖放文件名称的数据结构的句柄, 也就是文件名缓冲区的句柄,需要从Windows消息WM_DROPFILES中获得.iFile指明所要查询 文件的序号,它有两种取值方式,1.值为十六进制数FFFFFFFF时,DragQueryFile的返回值为 所拖放文件的数...
procedure TForm1.WMDropFiles(var Message: TWMDropFiles); var p: array[0..255] of Char; i,count: Integer; begin {先获取拖拽的文件总数} count := DragQueryFile(message.Drop, $FFFFFFFF, nil, 0); {分别获取文件名} for i := 0 to count-1 do begin DragQueryFile(message.Drop, i, p, Siz...
DragQueryFile函数用来查询拖放文件的文件名,其 本身的返回值是一个无符号整数,参数hDrop是一个存放所拖放文件名称的数据结构的句柄, 也就是文件名缓冲区的句柄,需要从Windows消息WM_DROPFILES中获得.iFile指明所要查询 文件的序号,它有两种取值方式,1.值为十六进制数FFFFFFFF时,DragQueryFile的返回值为 所拖放文件的数...
begin showmessage(paramstr(1));//只须这句就行了 end;其实,当你把一个文件拖到这个exe上时,它就成了这个exe的参数。这有点像dos命令的参数,比如在命令提示符里,我们经常用 “help /?”来获取帮助。这个“/?”就是help程序的一个参数。delphi对程序的启动,提供了两个可用的东西,一个是...