Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2013, 12:23   #1
Михаил Юрьевич
Форумчанин
 
Аватар для Михаил Юрьевич
 
Регистрация: 25.12.2007
Сообщений: 655
По умолчанию drag and drop файла

Подскажите как сделать drag and drop файла?
Нашел вот это:
Работает хорошо, но нужно сделать что бы принимала не вся форма, а только Panel .
И не все файл ,а только с расширением .exe

Код:
 protected
    procedure WMDropFiles(var Msg: TMessage); message wm_DropFiles;

procedure form.FormCreate(Sender: TObject);
begin
 DragAcceptFiles(Handle, true);//открываем доступ для drag and drop
end

procedure form.WMDropFiles(var Msg: TMessage);
var
   Filename: array[0 .. 256] of Char;
   Count   : integer;
   Fname:string;
begin
 DragQueryFile( THandle(Msg.WParam), 0, { номер файла } Filename,SizeOf(Filename) ) ;
  DragFinish(THandle(Msg.WParam));
   end;
За частые поиски был забанен во всех известных
поисковых системах!
Михаил Юрьевич вне форума Ответить с цитированием
Старый 23.03.2013, 14:31   #2
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

ну вот после DragFinish и пишите проверочный код-фильтр, который будет отбрасывать все файлы, кроме запускаемых:
...
if extractfileext(filename)='.exe' then
begin
panel1.caption:=filename;
end;
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 23.03.2013, 14:47   #3
Михаил Юрьевич
Форумчанин
 
Аватар для Михаил Юрьевич
 
Регистрация: 25.12.2007
Сообщений: 655
По умолчанию

Цитата:
Сообщение от 3D Hunter Посмотреть сообщение
ну вот после DragFinish и пишите проверочный код-фильтр, который будет отбрасывать все файлы, кроме запускаемых:
...
if extractfileext(filename)='.exe' then
begin
panel1.caption:=filename;
end;
Ну проверить то я смогу,а как запретить принимать на форму файлы с другими расширениями?
За частые поиски был забанен во всех известных
поисковых системах!
Михаил Юрьевич вне форума Ответить с цитированием
Старый 23.03.2013, 14:51   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Не уверен, что можно запретить.
Вы должны принимать ВСЕ события wm_DropFiles и обработать их так, как считаете нужным, т.е. exe пропускать, а остальные отбрасывать.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 23.03.2013, 17:02   #5
Михаил Юрьевич
Форумчанин
 
Аватар для Михаил Юрьевич
 
Регистрация: 25.12.2007
Сообщений: 655
По умолчанию

Спасибо за помощь
За частые поиски был забанен во всех известных
поисковых системах!
Михаил Юрьевич вне форума Ответить с цитированием
Старый 23.03.2013, 21:01   #6
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

http://melander.dk/delphi/dragdrop/ вот компонент по работе с Drag&Drop, если вам нужен только путь к файлу/папке то помогу разобраться (если конечно хотите).
FleXik вне форума Ответить с цитированием
Старый 24.03.2013, 09:18   #7
Михаил Юрьевич
Форумчанин
 
Аватар для Михаил Юрьевич
 
Регистрация: 25.12.2007
Сообщений: 655
По умолчанию

Цитата:
Сообщение от FleXik Посмотреть сообщение
http://melander.dk/delphi/dragdrop/ вот компонент по работе с Drag&Drop, если вам нужен только путь к файлу/папке то помогу разобраться (если конечно хотите).
Компонент хороший,я на него давно смотрю, вот только не знаю как его к XE3 прикрутить.
За частые поиски был забанен во всех известных
поисковых системах!
Михаил Юрьевич вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
drag and drop c# katbka Помощь студентам 1 05.03.2012 05:09
drag and drop digital-stream Общие вопросы Delphi 2 11.07.2011 18:26
Upload файла на ftp-сервер методом drag and drop olchick Работа с сетью в Delphi 1 13.07.2009 20:34
Нужна помощь (Drag-And-Drop & Drag-Abd-Dock)) Arkuz Общие вопросы Delphi 1 18.04.2009 00:15
Drag and Drop Xardas Общие вопросы Delphi 8 20.01.2008 23:09