На этом шаге мы рассмотрим функции интерфейса "Перетащить и опустить".
В OLE существует функция DoDragDrop, с помощью которой начинаются основные операции "перетаскивания". Эта функция имеет четыре параметра и возвращает значение типа HRESULT. Прототип функции DoDragDrop имеет следующий вид:
HRESULT DoDragDrop ( LPDATAOBJECT pDataObject, LPDROPSOURCE pDropSource, DWORD dwEffect, LPDWORD pdwEffect );
Параметры DoDragDrop() означают следующее.
Значение | Определение | Описание |
---|---|---|
Целевое приложение операции "Перетащить и опустить" не может принять перемещаемые данные | ||
Оригинальные данные копируются в целевое приложение. В источнике данные не изменяются | ||
Оригинальные данные копируются в целевое приложение и удаляются из источника | ||
Оригинальные данные остаются в истопнике, и с ними устанавливается связь | ||
Возникла операция прокрутки. Это значение используется совместно с одним из других значений DROPEFFECT |
Значения, возвращаемые функцией DoDragDrop() приводятся в таблице 2. Очень важно проверить возвращаемые значения для определения статуса завершения операции, чтобы определить, была ли она прервана, успешно выполнена или по каким-либо причинам не удалась.
Возвращаемое значение | Описание |
---|---|
Операция "Перетащить и опустить" успешно инициирована | |
Операция "Перетащить и опустить" успешно выполнилась | |
Операция "Перетащить и опустить" была прервана | |
Недостаточно памяти для завершения операции "Перетащить и опустить" | |
Операция "Перетащить и опустить" не удалась. Причина неудачи не указывается |
Функция DoDragDrop() сложна в использовании, и прежде чем работать с этой функцией непосредственно, перечитайте документацию по OLE 2 Borland C++ версии 4.5.
На следующем шаге мы рассмотрим интерфейс активации и редактирования по месту.