Предводителев Сергей
В этой статья я расскажу, как реализовать перетаскивание файлов на форму... Рассмотрим на примере текстового редактора с многооконным интерфейсом, при перетаскивании файлов на главную форму которого будут открываться MDI-окна с уже открытыми в них файлами. Не будем далеко ходить, возьмем текстовый редактор из примеров, которые поставляются вместе с Delphi, и дополним его.
Итак, для начала надо зарегистрировать окно для приёма файлов, для этого в обработчике onCreate для главной формы напишем следующий код:
DragAcceptFiles(FrameForm.Handle, True);
Эта функция оп7исана в библиотеке ShellAPI, поэтому не забудьте его добавить в раздел uses. Первый параметр функции - handle регистрируемого окна, второй параметр - определяет можно перетаскивать файлы (True) или нет (False).
Теперь надо обрабатывать сообщение WM_DROPFILES. В разделе private добавим следующую строчку:
procedure WMDROPFILES(var Message: TWMDROPFILES); message WM_DROPFILES;
И соответственно напишем процедуру обработки сообщения:
procedure TFrameForm.WMDROPFILES(var Message: TWMDROPFILES);
var
Files: Longint;
I: Longint;
Buffer: array[0..MAX_PATH] of Char;
begin
Files := DragQueryFile(Message.Drop, $FFFFFFFF, nil, 0);
for I := 0 to Files - 1 do begin
DragQueryFile(Message.Drop, I, @Buffer, SizeOf(Buffer));
if FileExists(Buffer) then
with TEditForm.Create(Self) do
Open(Buffer);
end;
DragFinish(Message.Drop);
end;
В этой процедуре используется функция DragQueryFile. Вот её описание:
DragQueryFile(
HDROP hDrop, // handle структуры, перетащенных файлов
UINT iFile, // номер нужного файла
LPTSTR lpszFile, // буфер для возвращаемого FileName
UINT cch // размер буфера для FileName
);
Если iFile равен $FFFFFFFF, то функция возвращает количество перетащенных файлов.
Итак, в нашей процедуре сначала в переменную Files заносится кол-во перетащенных файлов, а затем мы просматриваем все FileName'ы и если данный файл существует, то открываем его.
Примечание. MATH_PATH - константа, которая задаётся в модуле Windows. Это, если я всё правильно понял ;), максимальное количество символов в FileName.
Функция DragFinish очищает память, которая использовалась для передачи FileName в приложение.
Ну вот и всё... Если что-то непонятно или здесь что-то не так, то пишите... разберёмся ;)
Внимание! Запрещается перепечатка данной статьи или ее части без согласования с автором. Если вы хотите разместить эту статью на своем сайте или издать в печатном виде, свяжитесь с автором.
Другие работы по теме:
Описание файлов, создаваемых Дельфи
Вы когда ни будь задумывались о том, что создает Дельфи в папке с исходниками проекта? Да и нужен ли весь этот абсолютно бесполезный, для рядового программиста, "мусор"? Пора призадуматься. В этой мини-статье я расскажу о назначении таких файлов.
Тектовый редактор VI. ОС UNIX ...
Лабораторная работа №3 Текстовый редактор vi. Создание и сохранение файлов. Основные режимы работы. Назначение и функции командного режима. Назначение и функции режима редактирования.
Работа с файлами (лабораторная работа)
Лабораторная работа №2 Т е м а: Р а б о т а с ф а й л а м и. Задание: 1)Создание каталога 1-го уровня; провести проверку. 2)Создание каталога 2-го уровня в каталоге 1-го уровня; установка этого каталога.
Работа с каталогами (лабораторная работа)
Лабораторная работа №1 Т е м а : Р а б о т а с к а т а л о г а м и Задание: 1)Просмотр корневых каталогов и подкаталогов дисков командами DIR,DIR/W,DIR/P. В отчете представить 3-4 характерные строки отображения содержимого каталогов при выполнении команд DIR(DIR/p) и DIR/W, т.е. показать форму отображения имен файлов и каталогов.
Команды Norton Commander
Кафедра проектирования дорог Лабораторная работа №1 по курсу «Информатика» Выполнил студент группы №114359 Райхман Сергей Юрьевич роверил Минск 1999
Файловая система Windows
Файловая система (file system) – функциональная часть операционной системы, которая отвечает за обмен данными с внешними запоминающими устройствами.
Знакомство с MS-DOS
Понятия файлов и каталогов. Область внешней памяти, группа файлов на одном носителе. Древовидная структура файлов на диске. Имя и местонахождение файла. Маршрут или путь по файловой системе. Запись имени файла в DOSе. Шаблоны. Структура каталога.
Знакомство с ОС Windows
Описание сновных достоинств операционной системы Windows. Удобный графический интерфейс, высокая надежность работы, поддержка широкого спектра современных устройств, богатые возможности персонализации настроек и глубокая интеграция с Интернетом.
Введение в программирование
Сущность отладки, условия ее выполнения. Ошибки при компиляции программы, создание и изменение исходных символьных файлов. Процесс преобразования кода в машинный. Первый программист, виды трансляторов, классификация и уровни языков программирования.
Модели оптимального размещения файлов в вычислительной сети
Создание и проверка модели оптимального размещения файлов в вычислительной сети со звездообразной, кольцевой и произвольной топологией. Объем данных, необходимый для пересылки файлов. Оптимальное распределение файлов по узлам вычислительной сети.
Компьютерные вирусы 2 3
Text Что такое вирус? Что такое вирус? Группы вирусов? Каналы распространения? Признаки появления? Виды антивирусов? Graphics
Основные понятия Windows
Text Graphics Объектами называют сущности, имеющие различные свойства. Объектами называют сущности, имеющие различные свойства. Graphics
Программированное задание
Команда dir служит Для вывода оглавления каталога Команда cd служит Для изменения текущего каталога Команда copy служит Для копирования файлов Команда type служит
Архивация данных 2
Архиватор ZIP План: Введение Архивный файл Ключи и команды архиватора ZIP. Архиватор ZIP for Windows Заключение Список используемой литературы Введение: При эксплуатации компьютера по самым разным причинам возможны порча или потеря информации на магнитных дисках. Это может произойти из-за физической порчи магнитного диска, неправильной корректировки или случайного уничтожения файлов, разрушения информации компьютерным вирусом и т.д.
Upload файлов с уникальными именами в ASP.NET
Христофоров Юрий Задача: необходимо загружать файлы в папку upload на сервере с уникальными именами. Т.е. при загрузке двух файлов с одинаковыми именами они должны сохраняться под уникальными именами и не перезаписывать друг друга. В ASP.NET эта задача легко решается с помощью класса Guid. Т.о. файл будет сохранен например под именем fe008e1a-f07c-4263-8dc4-67f042a8cbdb_valley.jpg.
Обработка файлов в среде Delphi
Лабораторная работа На тему: «Обработка файлов в среде Delphi» Задание 1: Создайте приложение, которое создает текстовый файл text1.txt и записывает в него текст, введенный пользователем в окно Edit, после чего закрывает файл.
Работа в среде Norton Commander
Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования Тульский государственный университет
Работа с файлами лабораторная работа
Лабораторная работа №2 Т е м а: Р а б о т а с ф а й л а м и. Задание: 1)Создание каталога 1-го уровня; провести проверку. 2)Создание каталога 2-го уровня в каталоге 1-го уровня; установка этого каталога.
Команды Norton Commander
ФТК Кафедра проектирования дорог Лабораторная работа №1 по курсу «Информатика» Выполнил студент группы №114359 Райхман Сергей Юрьевич роверил Минск 1999
Командные файлы
Командные файлыМИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ КАФЕДРА ЭЛЕКТРОННО-ВЫЧИСЛИТЕЛЬНОЙ АППАРАТУРЫ ОТЧЕТ по лабораторной работе “Командные файлы” Дисциплина “Системное ПО ЭВМ” Выполнили студенты группы С-45.
Вирусные и антивирусные программы
Text Text Загрузочные Загрузочные Файловые Макро-вирусы Сетевые Graphics Заражают загрузочный сектор гибкого диска или винчестера Заражают загрузочный сектор гибкого диска или винчестера При заражении дисков загрузочный вирус «заставляет» систему при её перезапуске считать в память и отдать управление не программному коду загрузчика операционной системы, а коду вируса Graphics
Секреты NTFS
. Дефрагментация одиночных файлов Автор: Андрей Крупин Опубликовано 14 мая 2005 года Замечательная, конечно, вещь - дефрагментатор дисков, однако есть у него один недостаток: в силу заложенных в него алгоритмов, он частенько оставляет несколько файлов фрагментированными (как правило, это часто используемые данные, либо занятые каким-либо приложением или системой).
Операционные системы 2 2
Text Text Graphics Операционные системы среды и оболочки Выполнила Гурьева Ольга группа ИС 73-1 Graphics
Специальные функции архиватора RAR
Специальные функции архиватора Доклад подготовила Комарова М.И. Институт иформационных технологий СЕГРИС 2004 г. 1. Работа с в полноэкранном режиме. Работа с файлами
Антивирус Касперского
Реферат По теме:«Антивирус Касперского» Ученика 9В класса СОШ №132 Оковитого Георгия (AntiViral Toolkit Pro) Данная программа была создана ЗАО «Лаборатория Касперского». AVP обладает одним из самых совершенных механизмов обнаружения вирусов. Сегодня AVP практически ни в чем не уступает западным аналогам.
Тесты по информатике с ответами Вариант 3
1) Чему равен 1 Кбайт? 1. 1000 бит 2. 1000 байт 3. 1024 бит 4. 1024 байт 2) Какое устройство обладает наибольшей скоростью обмена информацией? 1. CD-ROM дисковод 2. жесткий диск