Шаг 1057 - CView::OnDropEx

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

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

Параметры
Параметры
pDataObject
Указатель на COleDataObject, который понижен в адресате снижения.
dropDefault
Эффект, что пользователь выбрал для заданной по умолчанию операции снижения, основанной на текущем состоянии клавиши. Это может быть DROPEFFECT_NONE. Эффекты Снижения обсуждены в разделе Замечаний.
dropList
Список эффектов снижения, что источник снижения поддерживает. Значения эффекта Снижения могут быть объединены, используя поразрядный или (|) операцию. Эффекты снижения обсуждены в разделе Замечаний.
point
Текущая позиция мыши относительно клиентской области просмотра.

Замечания
Вызванный рамкой, когда пользователь выпускает объект данных над допустимым адресатом снижения. Заданная по умолчанию реализация должна не делать ничто и возвращать фиктивное значение, чтобы указать, что рамка должна вызвать OnDrop драйвер.
Перегрузите эту функцию, чтобы задать реакцию правой кнопки мыши при перетаскивании обьекта. Обычно при отпускании правой кнопки мыши появляться меню.
Ваша перегруженная OnDropEx должна сделать запрос для правой кнопки мыши. Вы можете вызывать GetKeyState или сохранять правое состояние кнопки мыши из вашего OnDragEnter драйвера.
Если правая кнопка мыши, ваша перегруженная функция должна отобразить всплывающее меню, со списком необходимых действий.
Исследуйте dropList, чтобы определить эффекты снижения, обеспечиваемые источником снижения. Допустите только эти действиям на всплывающем меню.
Используйте SetMenuDefaultItem, чтобы установить заданное по умолчанию действие, основанное на dropDefault.
В заключение, берите действие, обозначенное выбором пользователя из всплывающего меню.
Если правая кнопка мыши не нажата то функция должна обработать это как стандартный запрос на перетаскивания. Используйте эффект снижения, определенный в dropDefault. так же Вы можете вернуть -1, что бы указать что OnDrop обработает эту операцию.
Используйте pDataObject, чтобы исследовать COleDataObject формат данных Буфера обмена и данные, и помесить данные в определенной точке.
Эффекты перетаскивания описывает действие, связанное с операцией перетаскивания. См. следующий список возможных реакций:


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 20.02.2002