Содержание материала

 

Большинство программ, предназначенных для работы с текстом, предоставляют пользователю возможность перетаскивать файлы в свою программу, а мы что лысые... :-)) ...щас тоже организуем:

 

Подключаем модуль ShellAPI в области uses

По созданию окна [событие OnCreate] пишем такой код:

 

Code:

DragAcceptFiles(Handle, true);

 

Когда вы перетаскиваете файл на своё приложение и отпускаете кнопку мыши, Windows посылает этому окну сообщение wm_DropFiles. Сообщение сопровождается именем файла. Обработчик этого сообщения нужно включить в раздел protected класса формы. Вставьте следующий код:

Code:

protected

procedure WMDropFiles (var Msg: TMessage); message wm_DropFiles;

 

Далее обрабатываем сообщение:

Code:

procedure TForm1.WMDropFiles(var Msg: TMessage);

var

FileName: array[0..256] of char;

begin

DragQueryFile(THandle(Msg.WParam), 0, FileName, SizeOf(Filename));

Memo1.Lines.LoadFromFile(FileName);

DragFinish(THandle(Msg.WParam));

end;

 

или так:

Code:

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;

 

 

 

 

https://delphiworld.narod.ru/

DelphiWorld 6.0

 

 

 

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить