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


COleDropTarget::OnDragOver

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

virtual DROPEFFECT OnDragOver( 
   CWnd* pWnd, 
   COleDataObject* pDataObject, 
   DWORD dwKeyState, 
   CPoint point  
);

Параметры

  • pWnd
    Указывает, что курсор к окну переключения.

  • pDataObject
    Указывает на объект данных, содержащий данные, которые необходимо удалить.

  • dwKeyState
    Содержит состояние клавиша-модификаторов. Это сочетание любое количество следующих действий: MK_CONTROL, MK_SHIFT, MK_ALT, MK_LBUTTON, MK_MBUTTON и MK_RBUTTON.

  • point
    Содержит текущее положение курсора в клиентских координатах.

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

Эффект, если удаление было приведет к попытке в расположении, указанном point. Он может иметь одно или несколько из следующих значений:

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

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

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

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

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

Заметки

Эта функция должна быть переопределена, чтобы включить операции удаления, в окне. Реализация по умолчанию данного вызовы функций CView::OnDragOver, который получает по умолчанию DROPEFFECT_NONE. Поскольку эта функция называется часто во время операции перетаскивания, она должна быть как можно более оптимизирована.

Дополнительные сведения см. в разделе IDropTarget::DragOver в Windows SDK.

Пример

DROPEFFECT COleContainerView::OnDragOver(COleDataObject* pDataObject, 
   DWORD dwKeyState, CPoint point)
{
   UNREFERENCED_PARAMETER(pDataObject);
   UNREFERENCED_PARAMETER(point);

   DROPEFFECT de = DROPEFFECT_NONE;
   //Determine the type of operation 
   if((dwKeyState & MK_SHIFT) && (dwKeyState & MK_CONTROL))
      de = DROPEFFECT_LINK;
   else if(dwKeyState &  MK_CONTROL)
      de = DROPEFFECT_COPY;
   else if(dwKeyState & MK_SHIFT)
      de = DROPEFFECT_MOVE;
   return de;
}

Требования

Header: afxole.h

См. также

Ссылки

Класс COleDropTarget

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

COleDropTarget::OnDragEnter

COleDropTarget::OnDragLeave

COleDropTarget::OnDrop

COleDropTarget::OnDropEx