回 帖 发 新 帖 刷新版面

主题:拖放文件后怎么得到他的绝对路径?

我做了一个小程序,要实现的功能都已经做好了,要是再添加上鼠标的拖放功能就可以完工了。我想实现把“我的电脑”里的文件拖到我的程序上时在我在程序里可以得到鼠标拖放的那个文件的路径.不知要怎么实现!
请大家帮下忙,谢谢、~·

回复列表 (共1个回复)

沙发

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    procedure WMDRopFiles(var Message :TWMDropFiles); Message WM_DROPFILES;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
uses ShellApi;
{$R *.dfm}

procedure TForm1.WMDropFiles(var Message: TWMDropFiles);
var
  C, I : integer;
  Buff  : array[Byte] of char;
begin
  C := DragQueryFile(Message.Drop, $FFFFFFFF, nil, 0);
  for I := 0 to C - 1 do begin
    DragQueryFile(Message.Drop, I, Buff, SizeOf(Buff));
    Self.Canvas.TextOut(0, I * 20, Buff);
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  DragAcceptFiles(Self.Handle, True);
end;

end.

我来回复

您尚未登录,请登录后再回复。点此登录或注册