Поделиться через


CView::OnDropEx

Вызываемый платформой, когда пользователь освобождает объект данных на допустимый целевой объект перетаскивания.

virtual DROPEFFECT OnDropEx(
   COleDataObject* pDataObject,
   DROPEFFECT dropDefault,
   DROPEFFECT dropList,
   CPoint point 
);

Параметры

  • pDataObject
    Указывает на COleDataObject, удалено в целевой объект перетаскивания.

  • dropDefault
    Эффект, который пользователь выбрал по умолчанию для операции удаления, основанных на текущем состоянии ключей.Это может быть DROPEFFECT_NONE.Последствия удаления описаны в разделе "Примечания".

  • dropList
    Список эффектов перетаскивания этих поддержки источника перетаскивания.Значение эффекта перетаскивания можно объединять с помощью побитовое ИЛИ (|).Последствия удаления описаны в разделе "Примечания".

  • point
    Текущая позиция указателя мыши по оси y относительно клиентской области просмотра.

Возвращаемое значение

Эффект удаления, который привел в результате попытки удаления в расположении, указанный в параметре point.Это должно быть одно из значений, приведенных dropEffectList.Последствия удаления описаны в разделе "Примечания".

Заметки

Реализация по умолчанию не выполнять никаких действий и возвращать фиктивное значение (-1) указывает, что границы должны вызывать обработчик OnDrop.

Переопределить эту функцию для реализации эффект перетаскивания правого кнопку мыши и удаления.Выпрямите перетащите кнопку мыши и удалите обычно отображает меню параметров при нажатии правой кнопки мыши освобождено.

Пользовательское переопределение OnDropEx должно запросить правой кнопки мыши.Можно вызвать GetKeyState или сохранить состояние правой кнопки мыши из обработчика OnDragEnter.

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

    • Просмотрите dropList, чтобы определить эффекты удаления, поддерживаемые источником удаления.Включение только эти действия на всплывающем меню.

    • Используйте SetMenuDefaultItem чтобы задать действие по умолчанию на основе dropDefault.

    • Наконец, выполните действия, показанной выделением пользователя из раскрывающегося меню.

  • Если правая кнопка мыши не вниз, переопределение должно обработать это как стандартный запрос удаления.Используйте эффект удаления, указанный в dropDefault.Кроме того, для переопределения может возвращать фиктивное значение (-1), чтобы показать, что OnDrop обрабатывающий эту операцию удаления.

Используйте pDataObject для проверки COleDataObject для формата данных и удаленных данных буфера обмена в заданной точке.

Последствия удаления описывают действие, связанное с операцией удаления.Список эффектов перетаскивания см. следующий:

  • Удаление DROPEFFECT_NONE а не было бы разрешено.

  • Операция копирования DROPEFFECT_COPY a была бы выполнена.

  • Операция перемещения DROPEFFECT_MOVE a была бы выполнена.

  • Будет установлена ссылка DROPEFFECT_LINK из удаленных данных к исходным данным.

  • DROPEFFECT_SCROLL указывает, что операция перетаскивания будет происходить прокрутки или происходит в целевом объекте.

Дополнительные сведения об установке по умолчанию команды меню см. в разделе SetMenuDefaultItem в Windows SDK и CMenu::GetSafeHmenu в этом томе.

Требования

Header: afxwin.h

См. также

Ссылки

Класс CView

Диаграмма иерархии

CView::OnDragEnter

CView::OnDragOver

CView::OnDrop

CView::OnDragLeave

COleDropTarget::OnDropEx