powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / OLEDragDrop - На некоторых компьютерах работает только один раз
1 сообщений из 1, страница 1 из 1
OLEDragDrop - На некоторых компьютерах работает только один раз
    #36957490
h7h2vC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Алгоритм такой:

1) По нажатию правой кнопкой мыши на ListView.Item запускается OLEDrag (ListView.OLEDragMode=ccOLEDragManual)
Код: plaintext
1.
2.
Private Sub ListView_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
  If Button = vbRightButton Then ListView.OLEDrag
End Sub

2) Тут же срабатывает событие OLEStartDrag, в котором мы указываем Data и AllowedEffects
Код: plaintext
1.
2.
3.
Private Sub ListView_OLEStartDrag(Data As MSComctlLib.DataObject, AllowedEffects As Long)
   Data.SetData ListView.SelectedItem
   AllowedEffects = vbDropEffectCopy
End Sub

3) По событию Drop на другой контрол - выполняем какой-то код
Код: plaintext
1.
2.
Private Sub msgOP_OLEDragDrop(Data As MSFlexGridLib.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single)
...
End Sub

4) Все.

Весь код работает исправно, но только один раз (на некоторых компьютерах все ок постоянно). Для перетаскивания следующего объекта приходится выгружать и снова загружать форму.

В чем тут могут проблемы?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / OLEDragDrop - На некоторых компьютерах работает только один раз
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]