Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб14_VisualBasic.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
595.97 Кб
Скачать

Приднестровский государственный университет им. Т.Г. Шевченко

Л А Б О Р А Т О Р Н А Я Р А Б О Т А № 14

Тема: «Технология Drag&Drop»

Цель работы:

изучение технологии Drag&Drop;

закрепление темы при создании приложений.

1. Технология Drag&Drop (перетаскивание) в пределах формы

При работе с приложениями Widows часто используется такой прием, когда пользователь может нажать над объектом левую кнопку мыши, и, не отпуская ее, переместить мышь в другое место. При этом образ объекта следует за курсором мыши. При отпускании кнопки объект перемещается в новое место (если это предусмотрено программистом). Такая технология называется Drag & Drop – перетаскивание (или перетащил и оставил).

Использование этой технологии придает программе профессиональный вид, а иногда даже делает интерфейс более удобным для пользователя. Реализовать это довольно просто. Но прежде всего надо уяснить следующее: объект может быть взят только оттуда и перетащен только туда, как это определил программист. Иными словами, для реализации этой технологии должен быть объект-источник Drag и объект-приемник Drop и с каждым объектом, чтобы он поддерживал Drag&Drop, необходимо поработать отдельно.

1.1. События перетаскивания

Private Sub Объект_DragDrop ([индекс As Integer,] source As Control, x As Single, y As Single)

Происходит при завершении операции drag&drop, т.е. перетаскиваемый объект находится в зоне объекта-приемника и кнопка мыши отпускается.

Индекс определяет элемент массива, если имеется массив объектов.

source – аргумент, определяющий перетаскиваемый элемент (содержимое). К нему могут добавляться методы и свойства (Sourse.Tag, Sourse.Visible и т.п.).

Если используется несколько объектов для перетаскивания, то для определения типа элемента-приемника используется ключевое слово TypeOf с оператором If, а для однозначного определения объекта используется свойство Tag.

x, y текущие координаты мыши на форме или объекте. Всегда измеряются в единицах объекта-приемника.

Событие используется для создания процедуры объекта-приемника после окончания перетаскивания для операторов, описывающих действия результата перетаскивания.

Private Sub Объект_DragOver ([индекс As Integer,] source As Control, x As Single, y As Single, state As Integer)

Происходит во время выполнения операции drag&drop, т. е. при нажатой кнопки мыши.

Индекс определяет элемент массива, если имеется массив объектов.

source – аргумент, определяющий перетаскиваемый элемент (содержимое). К нему могут добавляться методы и свойства (Sourse.Tag, Sourse.Visible и т.п.).

x, y текущие координаты мыши на форме или объекте. Всегда измеряются в единицах объекта-приемника.

state – показывает мгновенное состояние перетаскиваемого объекта по отношению к области объекта-приемника (область цели) и принимает значения:

  • 0 (vbEnter)= Вход (элемент управления–источник входит в область цели);

  • 1 (vbLeave)= Выход (элемент управления–источник покидает область цели);

  • 2 (vbOver)= Над (элемент управления источник перемещается в пределах области цели из одного положения в другое).

С помощью этого события создаются процедуры для визуализации операции перетаскивания (изменения курсора, подсвечивание объекта).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]