Вопрос
Как перетащить файлы из проводника в мою программу?
Ответ
TMainForm = class(TForm)
…
private
procedure WMDROPFILES(var Message: TWMDROPFILES); message WM_DROPFILES;
procedure ProcessFile(Filename: string);
end;
procedure TMainForm.FormCreate(Sender: TObject);
begin
DragAcceptFiles(MainForm.Handle, TRUE); // enable drag&drop
end;
procedure TMainForm.ProcessFile(Filename: string);
begin
// any actions
end;
procedure TMainForm.WMDROPFILES(var Message: TWMDROPFILES);
var
Files : Longint;
I : Longint;
Buffer : array[0..MAX_PATH] of Char;
begin
Files := DragQueryFile(Message.Drop,$FFFFFFFF,nil,0); // Get count of files
for I := 0 to Files — 1 do begin
DragQueryFile(Message.Drop,I,@Buffer,SizeOf(Buffer)); // Get N file
ProcessFile(Buffer); // do something with the file
end;
DragFinish(Message.Drop); // end drag loop
end;
Anatoly Podgoretsky
Copyright 2000-2004 Сообщество Чайников
Контактная информация