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