ListView и Drag&Drop

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
cernd
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 09.02.2005 (Ср) 12:51
Откуда: Москва

ListView и Drag&Drop

Сообщение cernd » 11.10.2005 (Вт) 17:15

Уважаемые!
Знает ли кто-нибудь, как в ListView в режиме SmallIcons запретить перетаскивать ListItems?

Соответствующего свойства нет.
lvw.Drag vbCancel не работает, в какое бы событие, связанное с Drag&Drop, я его не вставлял.
Больше идей нет :(

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 11.10.2005 (Вт) 20:52

Открой контекстное меню, пункт Properties. Далее выстави

OleDragMode=ccOLEDragManual
OleDropMode=ccOLEDropManual

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 11.10.2005 (Вт) 23:34

Да вот фигу, не отключается оно, это перетаскивание. И не перехватывается, по ходу, тоже никак.

Слушай, а ты уверен, что тебе именно SmallIcon нужен? Лично я, например, не припомню ни одной программы, где я бы видел листвью именно в этом режиме. Обычно используется lvwList или, чаще всего, lvwReport. Вот в них - да, уже начинают работать указанные Alexanbar'ом свойства по контролю над пользовательским перетаскиванием.

Vi
Постоялец
Постоялец
 
Сообщения: 739
Зарегистрирован: 25.01.2002 (Пт) 11:03
Откуда: Россия, Ижевск

Сообщение Vi » 12.10.2005 (Ср) 9:37

Можно сделать в Form_Load (или в окне свойств)
Код: Выделить всё
ListView1.OLEDragMode = ccOLEDragAutomatic

и оформить обработчик
Код: Выделить всё
Private Sub ListView1_OLEStartDrag(......)
  AllowedEffects = 0
End Sub
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! (с) КВН

cernd
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 09.02.2005 (Ср) 12:51
Откуда: Москва

Сообщение cernd » 12.10.2005 (Ср) 10:52

мне на самом деле нужно вот что:
есть коллекция разнородных элементов, которых много, поэтому для удобного просмотра нужно распологать их максимально компактно, и сверху вниз по 1 в строке не подходит.
Пробовал с ListView - не смог отключить перетаскивание.

Сейчас я пытаюсь сделать это с помощью RTF, форматируя элементы разными цветами. Сейчас придумываю, как по месту выделения в тексте можно определить, какой из элементов коллекции соответствует этому выделению.

Если кто-ниб знает какие-ниб еще подходящие контролы, или алгоритм как сделать это в RTF - буду рад помощи :)

cernd
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 09.02.2005 (Ср) 12:51
Откуда: Москва

Сообщение cernd » 12.10.2005 (Ср) 10:56

Vi
Спасибо!
это действительно работает
но... похоже, RTF мне подойдет больше, если я сумею в нем сделать все, что мне нужно :)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 59

    TopList