Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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:
Этот пример из одной моей древней программы, там всё отлично работает



Страницы: 1 вся ветка

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

Наверх





Память: 0.45 MB
Время: 0.005 c
1-9431
koks
2002-03-22 09:30
2002.04.04
перерисовка MainForm


3-9419
s
2002-03-11 11:18
2002.04.04
Загрузка данных


1-9483
КОляныч_
2002-03-25 19:25
2002.04.04
HELP!!! Работа с текстом! Поиск множества совпадений!


3-9426
Ross
2002-02-22 16:44
2002.04.04
Query+clipboard


1-9499
oomneeq
2002-03-21 16:14
2002.04.04
Хм, как бы с этим побороться - Library path etc.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский