Библиотека программиста

«Любой дурак может написать программу, которую поймет компилятор. Хорошие программисты пишут программы, которые смогут понять другие программисты»

Мартин Фаулер

Главная страница > Технология COM > 65. Механизм Drag and Drop

65. Механизм Drag and Drop

Механизм перетаскивания OLE.

Свойство перетаскивания (drag-and-drop) OLE – это прежде всего сокращенное наименование для операций копирования и вставки данных. В случае использования буфера обмена (Clipboard) для копирования или вставки данных требуется проделать несколько хорошо Вам известных шагов. Необходимо выделить данные, выбрать команду Cut или Copy из меню Edit (или сделать это с помощью клавишных команд – «горячих» клавиш), перейти к получателю данных – файлу, окну или приложению – поместить курсор в требуемое место и выполнить команду Paste из меню Edit.

Механизм перетаскивания OLE отличается от соответствующего механизма файлового менеджера (в Windows NT это Explorer), который может только обрабатывать имена файлов и спроектирован специально для передачи имен файлов приложениям. Механизм перетаскивания OLE является более общим, так как он позволяет перетаскивать любые данные, которые могут быть также помещены в буфер обмена Windows.

Когда для перетаскивания используется OLE, то исключаются два шага из процесса, типичного для использования буфера обмена. В случае применения OLE необходимо выделить данные в исходном окне (источник перетаскивания – “drop source”), перетащить их в желаемое место (цель – “drop target”) и вставить путем отпускания клавиши мыши. Такая операция не требует использования меню и быстрее, чем перенос данных через буфер обмена. Единственным требованием к источнику и получателю является то, что их окна должны быть открыты и хотя бы частично видимы на экране.

Механизм перетаскивания OLE позволяет передавать данные в пределах одного документа, между разными документами или между приложениями. Он может быть реализован в форме контейнера или серверного приложения и любое приложение может быть источником, получателем или тем и другим одновременно. Если некоторое приложение реализует функции и источника и получателя, то перетаскивание возможно также между дочерними окнами и внутри одного окна. Названная возможность делает приложение более легким и удобным в использовании. Если Вы хотите использовать только возможности OLE по перетаскиванию, обратитесь к разделу MSDN «Drag and Drop: Customizing». Вы можете использовать технологию, рассмотренную в упомянутой статье, чтобы разработать приложение источник данных без использования механизма OLE. Статья «Drag and Drop: Implementing a Drop Target» содержит описание реализации приложений, которые могут выступать в роли получателей данных (Drop Target) как с использованием возможностей OLE, так и без них. Она же может быть полезной для изучения примеров приложений OCLIENT и HIERSVR, построенных с использованием библиотеки MFC.

Реализация механизма перетаскивания в Delphi иллюстрируется в работе «Delphi 6 и технология СОМ».





<< Предыдущая статья
«64. Перетаскивание файлов между приложениями»
Следующая статья >>
66. Обзор платформы .NET
 
При использовании любых материалов с сайта http://www.introligator.org
обратная ссылка обязательна.
Rambler's Top100 Рейтинг@Mail.ru