Статьи
|
Как воздействовать на сообщение WM_DROPFILES Windows?
type
TForm1 = class(TForm)
Memo_AttachedFiles: TMemo;
procedure FormCreate(Sender: TObject);
private
public
procedure WMDROPFILES (
var Msg: TMessage); message WM_DROPFILES;
end;
{ ... }
uses
ShellAPI;
procedure TForm1.WMDROPFILES(var Msg: TMessage);
var
i,amount,size: integer;
Filename: PChar;
begin
inherited;
Amount := DragQueryFile(Msg.WParam, $FFFFFFFF, Filename, 255);
for i := 0 to (Amount - 1) do
begin
size := DragQueryFile(Msg.WParam, i , nil, 0) + 1;
Filename:= StrAlloc(size);
DragQueryFile(Msg.WParam,i , Filename, size);
// Filemame содержит приложенный файл (ы)
Memo_AttachedFiles.Lines.Add(StrPas(Filename));
StrDispose(Filename);
end;
DragFinish(Msg.WParam);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Form1.Handle, true);
end;
По материалам http://delphi.3000.com
|