Учебник по Visual Basic - 5.2. События Drag&Drop

E-mail Печать PDF
Рейтинг пользователей: / 203
ХудшийЛучший 
Индекс материала
Учебник по Visual Basic
1.2. Преймущества и недостатки VB
1.3. Запуск VB.
1.4. Интегрированная среда разработки (IDE - Integrated Development Environment)
1.5. Основные конструкции языка.
2. Типы данных. Переменные и процедуры, их области видимости. Массивы.
2.2. Переменные и процедуры, их области видимости.
2.3. Объявление массивов и работа с ними.
3. Создание меню
3.1. Создание статического меню
3.2. Создание контекстно-зависимого меню
5. Реализация технологии Drag&Drop средствами VB
5.1. Объекты Drag&Drop
5.2. События Drag&Drop
5.3. Автоматическое перетаскивание
5.4. Перетаскивание с использованием OLE
5.5. Автоматическое перетаскивание с использованием OLE
5.5. Программируемое перетаскивание с использованием OLE
6. Работа с классами в Visual Basic.
6.1.1. Добавление в класс свойств.
6.1.2. Добавление в класс методов.
6.1.3.Добавление в класс событий.
6.1.4.Объявление и использование объектов.
6.1.5. Удаление объекта класса.
6.2. Самостоятельная работа - доработка класса Splitter.
7. Технология OLE
7.1. Элемент управления OLE Container
7.2. Объекты OLE как элементы управления
7.3. OLE Automation
7.4. Создание объекта OLE
7.5. Использование объекта OLE
7.6. Работа с объектами Word
8. Создание элементов управления Active X.
Создание элементов управления ActiveX
Создание элементов управления Active X на примере ZigZag.
9. Использование функций Windows API в VB.
API-вызовы
10. Файловые функции в Visual Basic.
10.2. Обработка текстовых документов (файлы последовательного доступа).
10.3. Файлы произвольного (прямого) доступа.
10.4. Файлы инициализации.
10.5. Использование FSO (File System Object).
11. Использование элемента управления WinSock Control для создания сетевых приложений.
12. Доступ к базам данных из VB с помощью ADO.
12.2. Объект управления данными - ADO Data Control.
12.3. Связанные с данными элементы управления.
12.4. Использование Data Grid Control.
12.5. Доступ к базам данных через объекты ADODB.
13. Практика
Все страницы

2. События Drag&Drop

Процесс перетаскивания, как правило, обрабатывается в процедуре обработки события MouseDown. Чтобы "захватить" стартовый объект с помощью курсора мыши, используется метод Drag. После этого объект становится "привязанным" к курсору мыши, пока кнопка мыши не будет отпущена.

 

Пример: процесс перетаскивания для элемента управления FileListBox

Private Sub Filel_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button = vbLeftButton Then

Filel.Drag vbBeginDrag

End If

End Sub

 

Метод Drag имеет один необязательный параметр Action, который может принимать значения vbCancel = 0, vbBeginDrag = 1 (по умолчанию) и vbEndDrag = 2.

Когда переносимый объект попадает в объект-приемник, его следует там оставить. Это должно происходить после отпускания кнопки мыши (событие MouseUp). Однако можно установить, что вместо события MouseUp в режиме перетаскивания будет происходить событие DragDrop (при отпускании перетаскиваемого объекта над объектом получателем).

Объект-приемник определяет действие, которое должно быть совершено над перемещаемым объектом. Должен ли он быть скопирован, удален, перемещен, вставлен и. т. д. Это происходит в процедуре обработки события DragDrop объекта-приемника

 

Пример: принимающая сторона (ListBox) использует свойство FileName стартового объекта FileListBox, добавляя значение этого свойства в список

Private Sub Listi DragDrop(Source As Control, X As Single, Y As Single)

Listl.Add.Item Filel. FileName

End Sub

Этапы процесса перемещения следует сделать наглядными, устанавливая для каждого из них соответствующий вид курсора мыши. Например, символ "+" под курсором мыши позволяет определить, что файл в данную папку копируется. В Visual Basic можно управлять видом курсора мыши во время процесса перетаскивания. Для этого, кроме свойств MousePointer и Mouselcon, существует специальное свойство DragIcon. Это свойство может содержать изображение, которое можно загрузить, воспользовавшись функцией LoadPicture.

Событие, при обработке которого следует изменять курсор мыши, наступает при пересечении границы объекта. Это событие имеет сходство с событием MouseMove и называется DragOver (при перетаскивании объекта над объектом получателем). Процедуре обработки этого события передаются четыре параметра. Параметр Source содержит указатель на переносимый объект. Параметр State определяет положение курсора мыши по отношению к объекту и может принимать значения vbEnter, vbLeave или vbOver. Параметры X и Y содержат текущие горизонтальную и вертикальную позиции курсора мыши