|
原先在delphi下可以用转到Lazarus调试发现消息根本没拦截
TForm1 = class(TForm)
...
procedure DropFiles(var Msg:TMessage);message WM_DropFiles;
...
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Handle,True);
end;
procedure TForm1.DropFiles(var Msg:TMessage);
var
num:Cardinal; // bufsize,
FilePath:array[0..MAX_PATH-1] of Char;
begin
num:=DragQueryFile(Msg.wParam,$FFFFFFFF,nil,0); //取得文件个数
for num:=0 to num-1 do begin
FillChar(FilePath,MAX_PATH,0);
DragQueryFile(Msg.wParam,num,@FilePath,MAX_PATH);
if CompareText('.pdf', ExtractFileExt(AnsitoUtf8(FilePath)))=0 then
Memo1.Lines.Add(AnsitoUtf8(FilePath)) //显示拖入来的文件完整路径
end;
dragfinish(Msg.wParam);
end;
在Application有个OnDropFiles事件不知如何用了 |
|