拖动

 

uses ShellAPI;
//定义过程
procedure WMDROPFILES(var Msg: TMessage); message WM_DROPFILES;
//变量
var afilename: string;
// 实现过程
  procedure TForm1.WMDROPFILES(var Msg: TMessage);
  var
    FilesCount: Integer; // 文件总数
    i: Integer;
    FileName: array[0..255] of Char;
  var filestream: tfilestream;
  begin
    Memo1.Clear;
    FilesCount := DragQueryFile(Msg.WParam, $FFFFFFFF, nil, 0); // 获取文件总数
    Edit2.Text := IntToStr(FilesCount);
    for i := 0 to FilesCount - 1 do
    begin
      DragQueryFile(Msg.WParam, i, FileName, 256); // 获取文件名
      Memo1.Lines.Add(FileName);
      afilename := FileName;
      filestream := tfilestream.Create(filename, fmShareDenyNone); //文件大小
      Edit1.Text := inttostr(filestream.Size);
    end;
    DragFinish(Msg.WParam); // 释放
  end;
//使用
  procedure TForm1.FormCreate(Sender: TObject);
  begin
    DragAcceptFiles(Handle, True);
  end;

posted on 2010-11-23 18:50  haiou327'Blog  阅读(198)  评论(0)    收藏  举报

导航