Показать сообщение отдельно
  #2  
Старый 18.09.2008, 14:29
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
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;
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием