Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];




Вниз

А как реализовать drag&drop из, например, проводника в свою прогу? 


Kostyanych   (2002-03-23 00:46) [0]

Ну чтобы была возможность что-то сделать с файлом, который пользователь притащил в форму.



VID   (2002-03-23 02:37) [1]

private
...
procedure WMDROPFILES(var Message: TWMDROPFILES); message WM_DROPFILES;
...

Var DropedFile:String;

procedure TForm1.WMDROPFILES(var Message: TWMDROPFILES);
var
NumFiles : longint;
i : longint;
buffer : array[0..255] of char;
begin
{How many files are being dropped}
NumFiles := DragQueryFile (Message.Drop,0,nil,0);
{Accept the dropped files}
for i := 0 to (NumFiles - 1) do
begin
DragQueryFile(Message.Drop,i,@buffer,sizeof(buffer));
//Вот оно, полное имя брошенного файла под номером I
dropedfile:=buffer;
end;

END;


Однако, гораздо культурнее использовать спец компоненты, например компонент GLDropFiles, входящий в пакет G.L.A.D.



Anatoly Podgoretsky   (2002-03-23 10:10) [2]

Ошибки типа возможного AV сам исправишь, не помешает также сообщить ОС что ты согласен на Drag&Drop и отказаться когда не нужно.



Kostyanych   (2002-03-23 23:28) [3]

Хм, а как ОС то сообщить, что я согласен на Drag&Drop ?

Компонент сейчас поищу.



aus   (2002-03-24 02:18) [4]

Есть хороший пример в ...Demos\RichEdit, проще намного.



Anatoly Podgoretsky   (2002-03-24 10:44) [5]

Согласиться - DragAcceptFiles
Отказаться - DragFinish

Я послал статью для FAQ, скоро появится на сайте в должном разделе.

Кроме указанных ошибок, еще в приведенных примерах и неправильный вызов функции, неверные параметры, видимо пример скопирован откуда без должного анализа на политкорректность.



VID   (2002-03-24 14:22) [6]


TO Anatoly Podgoretsky:
Этот пример из одной моей древней программы, там всё отлично работает




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.031 c
3-9411            Анатолий              2002-03-13 11:51  2002.04.04  
Импорт данных из таблиц Excel таблицы формата *.dbf


1-9546            SemenK                2002-03-24 11:05  2002.04.04  
КАК СОЗДАТЬ ФОРМУ ОТПРАВКИ ПИСЬМА ?


1-9581            Александр Богданов    2002-03-25 06:45  2002.04.04  
Как перевести TTreeView в режим редактирования узла с помощью клавиатуры ?


1-9485            USAtyj                2002-03-25 18:19  2002.04.04  
Идею не подскажете!?


3-9391            DPro                  2002-03-12 19:07  2002.04.04  
Как програмно задать в свойствах IE домашнюю страницу?