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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2009, 00:38   #1
SoftKoc
Форумчанин
 
Аватар для SoftKoc
 
Регистрация: 07.11.2009
Сообщений: 218
Вопрос Как перетащить файл в свою программу

Здравствуйте!
На форме есть ListBox. Мне нужно чтобы при перетягивании файла в ListBox, в ListBox добавлялась строка с адресом файла!
Как можно это сделать?
Заранее очень благодарен!
Я бы изменил мир, но Бог не дает исходников...
Если помог, нажми на весы и поставь плюс - в знак благодарности

Последний раз редактировалось mihali4; 14.11.2009 в 00:47.
SoftKoc вне форума Ответить с цитированием
Старый 14.11.2009, 01:23   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Тоже есть в моем DFaq:
Код:
protected
  procedure WMDropFiles(var Msg: TMessage); message wm_DropFiles; 
...
fname : array[0 .. 256] of Char;
implementation

procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Handle, True); 
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
DragAcceptFiles(Handle, False);
end;

procedure TForm1.WMDropFiles(var Msg: TMessage);
begin
     // Получаем имя файла 
     DragQueryFile( THandle(Msg.WParam),0,fname,SizeOf(fname) ) ;
     // Вставляем путь к файлу в листбокс
      ListBox1.Items.Add(fname);
     DragFinish(THandle(Msg.WParam));
end;
mihali4 вне форума Ответить с цитированием
Старый 14.11.2009, 01:24   #3
SoftKoc
Форумчанин
 
Аватар для SoftKoc
 
Регистрация: 07.11.2009
Сообщений: 218
По умолчанию

Спасибо большое! =-)
Я бы изменил мир, но Бог не дает исходников...
Если помог, нажми на весы и поставь плюс - в знак благодарности
SoftKoc вне форума Ответить с цитированием
Старый 14.11.2009, 08:06   #4
SoftKoc
Форумчанин
 
Аватар для SoftKoc
 
Регистрация: 07.11.2009
Сообщений: 218
По умолчанию

А если речь пойдет о перетягивании нескольких файлов?
Я бы изменил мир, но Бог не дает исходников...
Если помог, нажми на весы и поставь плюс - в знак благодарности
SoftKoc вне форума Ответить с цитированием
Старый 14.11.2009, 11:26   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Скачайте DFaq - там примеры для нескольких файлов.
(Поиск по форуму "DFaq", я недавно выкладывал последнюю версию)
mihali4 вне форума Ответить с цитированием
Старый 14.11.2009, 21:28   #6
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Тоже есть в моем DFaq:
Код:
protected
  procedure WMDropFiles(var Msg: TMessage); message wm_DropFiles; 
...
fname : array[0 .. 256] of Char;
implementation

procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Handle, True); 
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
DragAcceptFiles(Handle, False);
end;

procedure TForm1.WMDropFiles(var Msg: TMessage);
begin
     // Получаем имя файла 
     DragQueryFile( THandle(Msg.WParam),0,fname,SizeOf(fname) ) ;
     // Вставляем путь к файлу в листбокс
      ListBox1.Items.Add(fname);
     DragFinish(THandle(Msg.WParam));
end;
Без обид конечно, но на более современных, и серьезных проектах такой метод вообще не вариант. Надо идти через IDroptarget (для дельфи), в MFC я использую COldeDropTarget (кажется так). + подключать IDropTargetHelper и регестрировать ОЛЕ ДРОП на окно (хендл). IDropTargetHelper - по желанию, для того чтобы видеть что тянешь, а не супер классный курсор со стрелкой или плюсиком это в кратце, и почемуто я уверен что врятли это кто-то дочитает до конца
BOBAH13 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как украсить свою программу с помощью фотошопа Superlotles Мультимедиа в Delphi 12 13.11.2009 11:05
Как записать свою программу в другую? AngelOfDeath Общие вопросы Delphi 1 12.05.2008 06:12
Защищаем свою программу паролем ben95 Помощь студентам 11 02.01.2008 13:34