|
0 / 0 / 0
Регистрация: 20.12.2011
Сообщений: 18
|
|
Соединение блоков динамической прямой линией в программе для создания блок-схем22.12.2012, 22:07. Показов 3787. Ответов 5
Метки нет (Все метки)
Доброго времени. Делаю программу для создания блок-схем, для саморазвития. Столкнулся с проблемой, а именно проблема при создании связей между блоками. Я пытался рисовать на формах, но толком ничего не получилось. Связи не динамичные и стираются.
Я хочу, имея два блока. Провести между ними соединяющую линию. И что бы при перемещении одного из блока, линия сохраняла свою позицию. Собственно, вопрос и заключается в этом. Как лучше реализовать подобную вещь и куда копать? Пытался искать что-то на подобии контроллеров-линий, но ничего не нашел. Надеюсь, описал понятно свою проблему.
0
|
|
| 22.12.2012, 22:07 | |
|
Ответы с готовыми решениями:
5
Нужна программа для создания блок схем Нужна программы для создания блок-схем Нужна программа для создания блок-схем |
|
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
|
|
| 22.12.2012, 23:10 | |
|
asdon, Линия будет принимать 2 объекта-блока и рисоваться по кратчайшему пути.
Хотя можно принимать ближайшие координаты. Перегрузить например оператор вычитания для блока на нахождение 2 точек,то-есть кратчайшего пути. Есть вариант сделать рамку,которая будет принимать начальную позицию для рисования линии ну и конец соответственно. Ответ - перерисовка. Все равно перерисовываем блок =)
1
|
|
|
0 / 0 / 0
Регистрация: 20.12.2011
Сообщений: 18
|
|
| 23.12.2012, 10:51 [ТС] | |
|
Noob.net, так все-таки линию придется рисовать на формах? Жаль. Находить кратчайший путь не нужно, так как точки для связей строго заданные.
Спасибо, буду тогда дальше пытаться сделать нормальную отрисовку линий.
0
|
|
|
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
|
|
| 23.12.2012, 12:12 | |
|
asdon, можно попытаться сделать линию-контрол. Пробовали,в чем проблема,что получилось?
Позже дам свои потуги.
0
|
|
|
|
|
| 23.12.2012, 12:24 | |
|
А что мешает создать контрол-панель, левый-верхний угол совпадает с первой точкой, правый нижний - со второй (не или наоборот), и рисовать на этом контроле линию. Это если у тебя блоки отдельными контролами, иначе перерисовка.
0
|
|
|
0 / 0 / 0
Регистрация: 20.12.2011
Сообщений: 18
|
|
| 23.12.2012, 12:39 [ТС] | |
|
Noob.net, кода уже нет, но хотел сделать бокс с линией по диагонали, которая менялась бы в зависимости от расположения блоков. Не получилось реализовать, так как на этапе рисования этого бокса он рисовался криво, и линия была кривая. Погуглив я ничего не нашел про подобные контролы и решил отложить эту идею.
Сегодня утром хотел снова сделать рисование на форме. Сделал отрисовку линии по клику, то есть кликаем по первому маркеру, по второму и между ними линия. Вообще хотелось бы, что бы при стыковке блоков линию можно было плавно перетаскивать, а не по кликам. Пытался так сделать, но либо линии стираются все, либо не стирается ни одна. Сейчас думаю попробовать сделать массив с координатами начала и конца линий (которые уже были проведены) и при перемещении блоков перерисовывать все линии из этого массива, стирая уже имеющиеся.
0
|
|
| 23.12.2012, 12:39 | |
|
Помогаю со студенческими работами здесь
6
Инструменты для создания блок-схем для больших макросов Создания блок схем
Создание блок-схем к программе Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|