Delphirus - прграммирование на delphi
   Все о delphi Delphirus - прграммирование на delphi
blocks.gif
Навигация
 

Главная
Статьи
Базы данных
Графика
Защита
Интернет
Система
Тексты
Мультимедиа
Файлы
Формы и окна
Другое
Советы
Базы данных
Графика
Интернет
Мультимедиа
Система
Тексты
Файлы
Файлы
Исходники
Компоненты
Инфо
Поиск по сайту
Обратная связь
Самое популярное
Аккаунт
Карта сайта

 
story.gif
Использование мыши при работе с файлами
 
Работа с Windows и железом

Большинство программ, преднозначенных для работы с текстом, предоставляют пользователю возможность перетаскивать имена файлов из "Проводника" (или других программ) в Memo или другой компонент, содержащийся в приложении. о умолчанию Delphi не позволяет перемещать файлы с помощью мыши, но, приложив небольшие усилия, такую возможность можно реализовать.



Первое, что вы должны сделать, - сообщить системе Windows о том, что ваша программа готова обрабатыватьфайлы, перемещенные из другого приложения с помощью мыши. Для этого достаточно включить в обработчик события OnCreate формы следующее выражение:

DragAcceptFiles(Handle,True);

Кроме того вы должны указать модель ShellAPI в директиве uses.

Для любого окна, в котором была вызвана процедура DragAcceptFiles, справедливо следующее. Когда вы перетаскиваете имя файла на ваше приложение и отпускаете кнопку мыши, Windows посылает этому окну сообщение wm_DropFiles. Сооьщение сопровождается именем файла. Обработчик этого сообщения нужно включитьв защищенный раздел класса формы. например, в объявлении класса формы между ключвыми словами private и public добавьте следующие строки:

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

И наконец-то пример самой процедуры, при помощи которой будет происходить обработка файла:

procedure TForm1.WMDropFiles(var Msg: TMessage);
Var
    Filename: array[0..256] of char;
begin

DragQueryFile(THandle(Msg.WParam),0,Filename,SizeOf(Filename));
{Теперь в переменной Filename будет находиться путь
к перетаскиваемому файлу. Далее вы можете выполнять с этим файлом, зная
его путь, все что угодно.}

{Например: Загрузить его в Memo}
Memo1.lines.loadfromfile(Filename);

{Сообщаем об окончании претаскивания}
DragFinish(THandle(Msg.WParam));
end;

Источник http://www.pts.h10.ru

 
Разместил 04/02/2004 от rolcom ( Прочитано: )

  blocks.gif
Связанные ссылки
 

· Больше про Работа с Windows и железом
· Новость от rolcom


Самая читаемая статья: Работа с Windows и железом:
Запуск приложений из Delphi

 
blocks.gif
Рейтинг статьи
 

Средняя оценка: 4
Ответов: 2


Пожалуйста, проголосуйте за эту статью:

Отлично
Очень хорошо
Хорошо
Нормально
Плохо


 
blocks.gif
опции
 


 Напечатать текущую страницу  Напечатать текущую страницу

 Отправить статью другу  Отправить статью другу

 
 

Page generation 0.035 seconds