Синтаксис
Sub Form_OLEGiveFeedback(effect As Long, defaultcursors As Boolean)
Части синтаксической последовательности для события OLEGiveFeedback представлены в таблице:
Часть
|
Описание
|
effect | Длинное целое, которое устанавливается компонентом получателем в событии OLEDragOver и определяет действие, которое должно быть предпринято, если пользователь опускает выбранный объект на компонент. Позволяет предусмотреть соответствующие действия со стороны источника (такие, как визуальная обратная связь). Допустимые значения представлены в таблице Установок. |
defaultcursors | Логическое значение, которое определяет, используется
ли в Visual Basic курсор мыши, установленный для компонента по умолчанию,
или используется определяемый пользователем курсор мыши. True (по умолчанию) – использовать курсор мыши по умолчанию. False – не использовать курсор мыши по умолчанию. Курсор мыши может быть установлен свойством MousePointer объекта CScreen. |
Установки
Установки параметра effect:
Константа
|
Установка
|
Описание
|
vbDropEffectNone
|
0 |
Получатель не может принять данные.
|
VbDropEffectCopy | 1 | Операция перетаскивания привела к копированию данных из источника в получатель. Исходные данные не изменяются в результате операции. |
VbDropEffectMove | 2 | Операция перетаскивания привела к перемещению данных из источника в получатель. Отправитель должен удалить свои данные после перемещения. |
VbDropEffectScroll | -2147483648 (&H80000000) |
Прокрутка происходит или подготавливается в компоненте получателе. Это значение используется в связи с другими значениями. Замечание Следует использовать только при выполнении пользовательской прокрутки в компоненте получателе. |
Примечания
Если отсутствует код в событии OLEGiveFeedback или параметр defaultcursors
имеет значение True, то Visual Basic автоматически устанавливает курсор
мыши в соответствии с установками по умолчанию для компонента.
Компонент отправитель должен всегда маскировать значения параметра effect, чтобы
гарантировать совместимость с будущими применениями компонентов. В настоящее
время используются только три из 32 битов параметра effect. В будущих версиях
Visual Basic могут быть использованы другие биты. Поэтому, в качестве меры предосторожности,
источники и получатели должны маскировать эти значения надлежащим образом перед
выполнением любых сравнений.
Например, компонент отправитель не должен сравнивать параметр effect, с установкой
vbDropEffectCopy, так, как это показано ниже:
If Effect = vbDropEffectCopy...
Вместо этого, компонент отправитель должен маскировать значение или значения,
которые отыскиваются, следующим образом:
If Effect And vbDropEffectCopy = vbDropEffectCopy...
-или-
If (Effect And vbDropEffectCopy)...
Это допускает определение новых результатов перетаскивания в будущих версиях
Visual Basic с сохранением обратной совместимости с существующими программами.
Большинство компонентов поддерживают события перетаскивания OLE в ручном режиме, а некоторые поддерживают события перетаскивания OLE в автоматическом режиме.