Данное Событие происходит в тот момент, когда вы выбираете и перемещаете выделенный Элемент Списка либо вверх, либо вниз с помощью Мышки, или комбинации клавиш, или программно (с помощью соответствующего Метода MoveItem).

PROCEDURE OnMoveItem
LPARAMETERS nSource, nShift, nCurrentIndex, nMoveBy

Параметры

nSource

Содержит дескриптор, описывающий способ Перемещения выделенного Элемента Списка.

nSource Краткое Описание

0

С помощью Комбинации Клавиш (Keyboard)

1

Левой Кнопкой Мышки

2

Правой Кнопкой Мышки

4

Средней Кнопкой Мышки

8

Программно, с помощью метода MoveItem

nShift

Содержит дескриптор, хпрактеризующий Модификатор нажатых Клавиш, SHIFT, CTRL, ALT, которые нажимаются при использовании манипулятора Мышь (нажата кнопка мышки). Ниже представлены возможные значения данного параметра nShift (для соответствующих Модификаторов).

nShift Описание

1

SHIFT

2

CTRL

4

ALT

Если совместно с нажатием Кнопки Мышки, нажимается несколько Модификаторов Клавиш, рассматриваемый параметр nShift содержит суммарное Значение указанных в Таблице соответствующих значений клавиш-модификаторов. Например, если вместе с кнопкой мышки нажата клавиша-модификатор CTRL, то nShift = 2. Однако, если нажата комбинация клавиш CTRL+ALT совместно с кнопкой мышки, то  nShift имеет значение  6 (2+4) - смотрите Таблицу.

nCurrentIndex

Содержит индекс перемещаемого Элемента Списка.

nMoveBy

Характеризует, в каком направлении перемещается выделенный Элемент Списка. Положительное (+) значение указывает на перемещение вниз по-списку.  Отрицательное (-) значение характеризует перемещение выделенного Элемента вверх.

Параметр nMoveByвсегда принимает значение = 1 , если перемещение Элемента выполняется с помощью Клавиатуры. Данный параметр имеет значение =  -1, если перемещение выполняется с помощью мышки. Однако, nMoveBy может показывать позицию Элемента к которому перемещается выделенный Элемент, в том случае, когда указанный Элемент перемещается за Границы родительского Списка.

Expand imageКомментарии

Применяется В: ListBox, контрол

OnMoveItem происходит непосредственно после выбора и перемещения Элемента Списка с помощью комбинаций клавиш:  CTRL+UP ARROW, CTRL+DOWN ARROW или с помощью Мышки, а также после выполнения специального Метода MoveItem, выполняемого в некотором фрагменте программного Кода. OnMoveItem происходит после каждого отдельного Перемещения выделенного Элемента, но до того момента, перемещенный Элемент отображается на новом месте в Списке. Однако, OnMoveItem происходит только однажды при выполнении указанного метода MoveItem во фрагменте программного Кода.

NoteОбратите Внимание

Вы можете переносить Элементы контрола ListBox только в том случае, когда установлено свойство RecordSourceType = 0 (None) или 1 (Value).

Для отмены перемещения выбранного Элемента, достаточно выполнить Return False (.F.) при завершении обработки рассматриваемого события OnMoveItem.

Expand imageСм. также