выделение и перемещение группы элементов (контролов)
От: Mux-Mux  
Дата: 03.02.06 14:18
Оценка:
Здравствуйте!
Подскажите, пожалуйста, начинающему.
Есть канва (наследник ScrollableControl), на ней
графические элементы. Элементы можно выделять и премещать.
Я реализовал возможность выделения нескольких элементов на канве
(группы), но к сожалению, никак не добьюсь, чтобы юзер мог,
нажав и держа левую кнопку мыши на одном из выделенных элементов,
переместить всю группу (перемещается лишь элемент под курсором) .
Заранее спасибо.
.NET наркотикам!
выделение и перемещение группы элементов (контролов)
От: Аноним  
Дата: 03.02.06 17:23
Оценка:
>>Я реализовал возможность выделения нескольких элементов на канве (группы), но к сожалению, никак не добьюсь, чтобы юзер мог, нажав и держа левую кнопку мыши на одном из выделенных элементов,переместить всю группу (перемещается лишь элемент под курсором)

У тебя скорее всего есть отдельный класс, который занимается перетаскиванием/ресайзом элементов, так? Когда ты выделил один элемент он у тебя устанавливается в качестве текущего. С ним впоследствии и идет работа. Т.е. no problem. При множественном выделении у тебя уже не один target, а несколько. Т.е. нужна коллекция target'ов. Причем, если ты правильно реализовал логику перемещения, то она тебе, скорее всего позволит, пробегаясь по всем target'ам коллекции, менять их позицию. Я сам в подобных ситуациях расчитываю "дельту" от текущего положения курсора и "кликнутого". Соответственного для каждого target'a эта "дельта" будет одинакова (но различна между target'aми) и все должно быть в шоколаде. Во всяком случае у меня реализация этой фичи не вызвала каких-либо особенных трудностей.

[[url=http://www.gotdotnet.ru/DotNet/FAQ/OfflineFAQ/236958.aspx]Offline FAQ[/url]] [1.01]
2 min @ 56.6 kbps


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.