Большинство программ, предназначенных для работы с текстом, предоставляют пользователю возможность перетаскивать файлы в свою программу, а мы что лысые... :-)) ...щас тоже организуем:
Подключаем модуль 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
- << Назад
- Вперёд
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!