|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.07.2013, 21:06 | #1 |
Регистрация: 03.01.2013
Сообщений: 9
|
Создание графического интерфейса drag'n'drop
Добрый вечер всем.
Подскажите как создать графический интерфейс как в MS Visio или GNS3? То есть можно было бы вытаскивать элементы на поле, соединять их линиями связи. При перетаскивании элемента что бы линии связи перемещались вместе с этим элементом и так далее. Делал схожий интерфейс простым рисованием картинки. При клике на картинке перебором искал элемент, на который было сделать нажатие. Есть ли более правильные методы? Спасибо за подсказку. |
06.07.2013, 21:16 | #2 |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
Недавно делал демонстрационный проект на сильверайте, который собственно то же самое и делает
ссылка на видео Драг-н-дроп реализован обработкой событий MouseLeftButtonDown/Up/MouseMove. Элемент, на котором произошло нажатие/отпускание кнопки мыши, получал из MouseEventArgs.OriginalSource. Структура проекта упрощенно выглядит так:
Благодарить в репутацию. Проклинать — туда же
|
06.07.2013, 21:36 | #3 |
Регистрация: 03.01.2013
Сообщений: 9
|
Спасибо за ответ. А как ты сохранял объекты, которые нужно отображать? Как с ними правильно работать?
У меня, например, для каждого типа объекта был свой список. При добавлении его на поле, добавлялся экземпляр в список и в соответствии с координатами клика мыши он рисовался на битмап (делал на WinForms). Если клик делался на рисунок, то по координатам клика я проверял все объекты в списке. Если координаты совпадали - то его выделял. Можно ли как-то упростить такую работу? |
06.07.2013, 21:49 | #4 | |||||
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Благодарить в репутацию. Проклинать — туда же
|
|||||
06.07.2013, 21:57 | #5 |
Регистрация: 03.01.2013
Сообщений: 9
|
Благодарю за ответ. Буду размышлять над реализацией
Если есть еще какие-то варианты решения, буду признателен за помощь. |
06.07.2013, 21:58 | #6 |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
Одно могу сказать точно: думайте в сторону "одна фигура => отдельный объект"
Благодарить в репутацию. Проклинать — туда же
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Инструменты изменения графического интерфейса контролов | Smogg | Win Api | 6 | 24.12.2012 07:42 |
Какую библиотеку графического интерфейса выбрать? | demigod82 | Visual C++ | 3 | 22.04.2012 12:24 |
Переработка нестандартного графического интерфейса программы (Delphi) | Developer_ | Фриланс | 0 | 03.02.2012 22:01 |
Тормоза при отработке графического интерфейса | sergey113 | Помощь студентам | 10 | 23.03.2011 12:51 |
Написание графического интерфейса | zhuravlov | Фриланс | 3 | 04.01.2011 21:54 |