
18.09.2008, 14:29
|
 |
Sir Richard Abramson
|
|
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
|
|
Код:
uses ShellApi;
...
//обработчик события при сосздании формы
begin
DragAcceptFiles(Handle, true);//Handle-сама форма
end;
...
procedure WMDROPFILES... пишеш в разделе
Код:
type
TdlgAddFiles = class(TForm)
private
procedure WMDROPFILES (var Msg: TMessage); message WM_DROPFILES;
{ Private declarations }
public
{ Public declarations }
end;
обрабатываеш событие бросания файлов так
Код:
procedure TdlgAddFiles.WMDROPFILES (var Msg: TMessage);
var i,amount,
size : integer;
Filename: PChar;
Temp:String;
begin
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);
Temp:=StrPas(Filename);
If DirectoryExists(Temp) Then Temp:=Temp+'\*.*';
lvFiles.Items.add.Caption:=Temp;//lvfiles это листбокс
StrDispose(Filename);
end;
DragFinish(Msg.WParam);
Temp:='';
Inherited;//Обязательно!!!!
end;
|