Перетаскивание файлов на форму

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
novo
новенький
Сообщения: 43
Зарегистрирован: 31.07.2011 21:35:10

Перетаскивание файлов на форму

Сообщение novo »

Доброго дня, ночи, вечера, утра.

Необходимо занести в listbox путь к файлу, перетащив его на форму

Как это можно реализовать

пробовал так, не работает

Код: Выделить всё

protected
  procedure WMDropFiles (var Msg: TMessage); message wm_DropFiles;
..........
..........
procedure TForm1.FormCreate(Sender: TObject);
 begin
   DragAcceptFiles(Handle, true);
 end;
..........
..........
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);
    listbox1.items.add(StrPas(Filename));
    StrDispose(Filename);
  end;
  DragFinish(Msg.WParam);
end;
.wOvAN
постоялец
Сообщения: 118
Зарегистрирован: 16.04.2010 06:36:12
Контактная информация:

Сообщение .wOvAN »

В лазарусе у формы уже есть событие OnDropFiles

procedure TForm1.FormDropFiles(Sender: TObject; const FileNames: array of String
);
begin
/////////
end;
novo
новенький
Сообщения: 43
Зарегистрирован: 31.07.2011 21:35:10

Сообщение novo »

.wOvAN писал(а):В лазарусе у формы уже есть событие OnDropFiles

procedure TForm1.FormDropFiles(Sender: TObject; const FileNames: array of String
);
begin
/////////
end;


Опять поспешил, только создал тему, открыл лазаря и наткнулся глазами на это событие
Спасибо
Аватара пользователя
leo_bsv
постоялец
Сообщения: 276
Зарегистрирован: 04.08.2010 16:26:10
Откуда: Йошкар-Ола
Контактная информация:

Сообщение leo_bsv »

+ свойство формы AllowDropFiles должно равняться true :!:
Ответить