Пользователь

Добро пожаловать,

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

Меню сайта




Ваше мнение
Как вы узнали о нашем сайте?

От друга, знакомого
Из печатных источников
Из поисковой машины
По ссылке с другого сайта
Случайно
Не знаю


Результаты
Другие опросы

Всего голосов: 1031
Комментарии: 4


Наши партнеры



Статистика




Programming books  Download software  Documentation  Scripts  Content Managment Systems(CMS)  Templates  Icon Sets  Articles  Contacts  Voting  Site Search




Статьи и обзоры



Drag and Drop файлов в программу

Статьи по объектно-ориентированному программированию на языке Pascal и в среде программирования Delphi. Примеры работающего кода, тексты компонентов и классов, советы мастеров. Графический интерфейс операционной системы Windows поддерживает копирование (перенос) файлов при помощи мыши. Это реализуется технологией Drag and Drop. Если ваша программа много работает с файлами, то можно облегчить процесс открытия файлов. Метод Drag and Drop позволяет отказаться от стандартной схемы открытия файлов при помощи диалогов открытия файлов.

Используя Drag'n'Drop вы можете перенести мышью объект рабочего стола (проводника) на форму программы и этот объект будет найден и обработан. Технология Drag and Drop поддерживает следующие объекты: файлы, папки, ярлыки, ссылки интернет и др. Функция Drag'n'Drop является родной функцией проводника (Windows Explorer),
то есть она поддерживается не операционной системой, оболочкой. Поэтому, если вы пользуетесь другой оболочкой (напр. DesqView), то поддержка Drag and Drop не гарантируется.


Реализация


Для того, чтобы реализовать этот метод на Delphi, необходимо:

1) Подключить модуль ShellApi в секции Uses в Unit1 формы.
2) Затем в Unit1, найти оператор private и выше него добавить следующие строки:

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


3) Добавить в Unit1 процедуру WMDropFiles и ввести её тело:

Код
Procedure TForm1.WMDropFiles(var Msg: TMessage);
var
Filename: array[0 .. 256] of Char;
FileStr: string;
begin
{ Получаем имя первого файла }
DragQueryFile( THandle(Msg.WParam), 0, Filename, sizeof(Filename) ) ;
{ Открываем его }
FileStr:=LowerCase(StrPas(FileName));
{ Подсветка окна }
FlashWindow(Form1.Handle,true);
{ Отдаем сообщение о завершении процесса }
DragFinish(THandle(Msg.WParam));
...
{Здесь вы можете ввести код работы с файлом}
...
end;



4) Чтобы форма могла принимать объекты, необходимо в обработчик события OnCreate, записать:

Код
DragAcceptFiles(Handle, True);



Заключение

Технология Drag and Drop очень облегчает работу с такими программами, как кодировщики музыки, интернет-качалки, файловые утилиты и архиваторы.



Нет комментариев. Почему бы Вам не оставить свой?
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Внимание! Если у вас не получилось найти нужную информацию, используйте рубрикатор или воспользуйтесь поиском


.



Статьи и обзоры Delphi и TurboPascal Drag and Drop файлов в программу Графический интерфейс операционной системы Windows поддерживает копирование перенос файлов при помощи мыши Это реализуется технологией Drag Drop Если ваша программа много работает файлами то можно облегчить процесс открытия Метод позволяет отказаться от стандартной схемы диалогов Используя Drag& #039 n& вы можете перенести мышью объект рабочего стола проводника на форму программы этот будет найден обработан