OLEGiveFeedback

Происходит после каждого события OLEDragOver. Событие OLEGiveFeedback позволяет компоненту источнику обеспечивать визуальную обратную связь с пользователем, например путем изменения курсора мыши, чтобы показать, что произойдет, если пользователь опустит объект или обеспечивать визуальную обратную связь при выборе (в компоненте источнике), чтобы показать, что произойдет при том или ином выборе.

Синтаксис

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 в автоматическом режиме.


Назад