Шаг 62.
VBA в MSExcel.
Элементы управления и пользовательская форма. События Drag&Drop
На этом шаге мы перечислим события, связанные с этим протоколом.
Рассмотрим синтаксис процедур обработки событий при операциях drag-and-drop, связанных с элементами управления (таблица 1).
Таблица 1. События Drag&Drop
Событие |
Происходит... |
BeforeDragOver |
...пока совершается операция drag-and-drop |
BeforeDropOrPaste |
...перед завершением операции drag-and-drop |
Синтаксис:
Private Sub object_BeforeDragOver (ByVal Cancel As MSForms.ReturnBoolean, _
ByVal Data As DataObject, ByVal X As Single, ByVal Y As Single, _
ByVal DragState As fmDragState, ByVal Effect As MSForms.ReturnEffect, _
ByVal Shift As fmShiftState)
Private Sub object_BeforeDropOrPaste (ByVal Cancel As MSForms.ReturnBoolean, _
ByVal Action As fmAction, ByVal Data As DataObject, ByVal X As Single, _
ByVal Y As Single, ByVal Effect As MSForms.ReturnEffeet, _
ByVal Shift As fmShiftState)
Аргументы:
- Cancel - допустимые значения: False (по умолчанию, элемент управления обрабатывает событие) и True (приложение обрабатывает событие).
- Data - данные, перемещаемые во время операции drag-and-drop. Эти данные размещаются в объекте DataObject.
Объект DataObject — это своеобразный аналог буфера обмена, в отличие от которого в нем допускается хранить только текстовую информацию.
- X и Y - расстояние от левого верхнего угла элемента управления по горизонтали и вертикали.
- DragState - устанавливает позицию указателя мыши относительно целевого объекта. Допустимые значения:
- fmDragStateEnter или 0 (указатель мыши внутри целевого элемента управления);
- fmDragStateLeave или 1 (указатель мыши вне целевого элемента управления);
- fmDragStateOver или 2 (указатель мыши в новой позиции, но остается внутри элемента управления).
-
Effect - eстанавливает операцию, производимую над объектом. Допустимые значения:
- fmDropEffectNone или 0 (не копировать и не перемещать объект);
- fmDropEffectCopy или 1 (копировать объект);
- fmDropEffectMove или 2 (перемещать объект);
- fmDropEffectCopyOrMove или 3 (копировать или перемещать объект).
- Shift - возвращает код (значение) нажатой на клавиатуре клавиши. Допустимые значения:
- fmShiftMask или 1 (Shift);
- fmCtrlMask или 2 (Ctrl);
- fmAltMask или 4 (Alt).
На следующем шаге мы рассмотрим объект DataObject.
Предыдущий шаг
Содержание
Следующий шаг