Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как нарисовать диаграмму Ганта. Отображение около 10000 элементов на форме. / 15 сообщений из 15, страница 1 из 1
22.05.2020, 19:57
    #39960849
Jonnik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нарисовать диаграмму Ганта. Отображение около 10000 элементов на форме.
Хочу сам нарисовать диаграмму Ганта. Готовые варианты не подошли.

Нужно отображать что угодно, но в виде красивых прямоугольников, которые можно будет перемещать, менять размеры. При наведение мышки показывать подсказки. На них можно написать текст. В общем нужен нужен какой-то объект.
Грубо говоря можно и те же панели использовать, но при большом количестве начинает тормозить форма.

Посоветуйте, что можно разместить, а может и в каком контейнере на форме в большом количестве, что бы при этом эти объекты быстро рисовались и при количестве в 10 000 штук форма не зависала при прорисовки?
Хорошо, если еще и будет возможность решить отрисовку координатной сетки.
Хочется их сразу нарисовать, что бы не заниматься перерисовкой объектов при скролинге.
...
Рейтинг: 0 / 0
22.05.2020, 20:02
    #39960851
asviridenkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нарисовать диаграмму Ганта. Отображение около 10000 элементов на форме.
Jonnik,

Реально пользователь будет работать с диаграммой в 10 тыс элементов?
...
Рейтинг: 0 / 0
22.05.2020, 20:05
    #39960854
Jonnik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нарисовать диаграмму Ганта. Отображение около 10000 элементов на форме.
asviridenkov
Jonnik,

Реально пользователь будет работать с диаграммой в 10 тыс элементов?


Смотря какая детализация нужна будет. Это чтобы все нарисовать и не заниматься перерисовкой при скролинге.
...
Рейтинг: 0 / 0
22.05.2020, 20:09
    #39960857
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нарисовать диаграмму Ганта. Отображение около 10000 элементов на форме.
похоже Андрей Игоревич нашел себе сотрудника...
...
Рейтинг: 0 / 0
22.05.2020, 20:42
    #39960869
ъъъъъ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нарисовать диаграмму Ганта. Отображение около 10000 элементов на форме.
Jonnik
а может и в каком контейнере

Ты же не будешь, например, MS Excel свой создавать, а попытаешься использовать то, что есть?

Может, возьми MS Project, и как COM - сервер его? Там эти диаграммы так отточены, что ты такого и близко не сделаешь.
...
Рейтинг: 0 / 0
22.05.2020, 20:57
    #39960873
bk0010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нарисовать диаграмму Ганта. Отображение около 10000 элементов на форме.
Jonnik
В общем нужен нужен какой-то объект.
Грубо говоря можно и те же панели использовать, но при большом количестве начинает тормозить форма.
Посмотреть, как диаграммы Ганта в TChart сделаны не пробовали (он вроде в исходниках шел)?
...
Рейтинг: 0 / 0
22.05.2020, 21:06
    #39960874
asviridenkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нарисовать диаграмму Ганта. Отображение около 10000 элементов на форме.
Jonnik,

Как раз чтоб все быстро работало, придется при скроллинге отрисовывать только нужное.
Вообще, это задача не для новичка.
...
Рейтинг: 0 / 0
22.05.2020, 22:02
    #39960890
Jonnik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нарисовать диаграмму Ганта. Отображение около 10000 элементов на форме.
ъъъъъ
Jonnik
а может и в каком контейнере

Ты же не будешь, например, MS Excel свой создавать, а попытаешься использовать то, что есть?

Может, возьми MS Project, и как COM - сервер его? Там эти диаграммы так отточены, что ты такого и близко не сделаешь.


Это все должно работать без всяких установленных дополнительных программ.
Мне не надо весь функционал, большая часть его просто не нужна.
Надо только полоски рисовать красиво и так где мне надо и в нужном виде. Существующие механизмы или слишком простые или слишком навороченные, что тормозят при небольшом наборе данных как например DevExpress. Это все до меня выяснили другие люди и я сам с этим столкнулся.

Про прорисовку только видимой части я и так знаю. Просто хочу ее избежать если это возможно.
...
Рейтинг: 0 / 0
22.05.2020, 22:04
    #39960892
Док
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нарисовать диаграмму Ганта. Отображение около 10000 элементов на форме.
Мимопроходящий
похоже Андрей Игоревич нашел себе сотрудника...

да ты прям мысли чужие на лету читаешь
...
Рейтинг: 0 / 0
22.05.2020, 22:05
    #39960893
Док
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нарисовать диаграмму Ганта. Отображение около 10000 элементов на форме.
Jonnik
Надо только полоски рисовать красиво и так где мне надо и в нужном виде.

тогда тебе сюда . Судя по окончанию топика автору это удалось очень неплохо.
...
Рейтинг: 0 / 0
22.05.2020, 22:30
    #39960904
L1G
L1G
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нарисовать диаграмму Ганта. Отображение около 10000 элементов на форме.
Jonnik,
вообще, всё что нужно для рисования чего угодно - это TPaintBox и его Canvas.
ну, еще парочку TScrollBar для полного счастья.
Однако, будет непросто "перемещать, менять размеры", "При наведение мышки" что-то делать. Тут не обойтись без своих кастомных объектов, хранящих координаты, цвета и т.п.
(Возможно, и хранить их придется не в плоском списке, а в иерархическом дереве, но не факт.)
В общем, "задача не для новичка" - это точно.

Я бы прикинул возможность использования TShape или своих наследников от TGraphicControl (всё-таки "легче" и (должны быть) быстрее, чем TControl (и любые его наследники)).
Сам, правда, так и не попробовал его в деле...

"Хочется их сразу нарисовать, что бы не заниматься перерисовкой объектов при скролинге." - для программиста мысль бредовая. Это не тебе придется "заниматься их перерисовкой при скроллинге" много раз, достаточно всего 1 раз научить это делать компьютер. Собственно, код отрисовки в любом случае одинаковый. (Как, по-твоему, работают все эти "волшебные" компоненты? Где-то внутри они таки перерисовываются при скроллинге, но программиста это не волнует.)
...
Рейтинг: 0 / 0
22.05.2020, 22:44
    #39960910
L1G
L1G
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нарисовать диаграмму Ганта. Отображение около 10000 элементов на форме.
быстрее, чем TControl TWinControl
...
Рейтинг: 0 / 0
22.05.2020, 22:54
    #39960913
Jonnik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нарисовать диаграмму Ганта. Отображение около 10000 элементов на форме.
L1G
Jonnik,
вообще, всё что нужно для рисования чего угодно - это TPaintBox и его Canvas.
ну, еще парочку TScrollBar для полного счастья.
Однако, будет непросто "перемещать, менять размеры", "При наведение мышки" что-то делать. Тут не обойтись без своих кастомных объектов, хранящих координаты, цвета и т.п.
(Возможно, и хранить их придется не в плоском списке, а в иерархическом дереве, но не факт.)
В общем, "задача не для новичка" - это точно.

Я бы прикинул возможность использования TShape или своих наследников от TGraphicControl (всё-таки "легче" и (должны быть) быстрее, чем TControl (и любые его наследники)).
Сам, правда, так и не попробовал его в деле...

"Хочется их сразу нарисовать, что бы не заниматься перерисовкой объектов при скролинге." - для программиста мысль бредовая. Это не тебе придется "заниматься их перерисовкой при скроллинге" много раз, достаточно всего 1 раз научить это делать компьютер. Собственно, код отрисовки в любом случае одинаковый. (Как, по-твоему, работают все эти "волшебные" компоненты? Где-то внутри они таки перерисовываются при скроллинге, но программиста это не волнует.)


Да, TShape тоже был в планах проверить.
Лучше иметь какой-то объект, чем просто рисунок. С объектом проще работать.
Была бы перерисовка проста, то я бы сразу ее и сделал. Это кажется, что она простая. Но там будет много задач в ней тоже.
Перед реализаций таких вещей надо собрать информацию, а потом делать.
...
Рейтинг: 0 / 0
22.05.2020, 23:29
    #39960927
L1G
L1G
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нарисовать диаграмму Ганта. Отображение около 10000 элементов на форме.
Jonnik
Лучше иметь какой-то объект, чем просто рисунок. С объектом проще работать.
Требуемые объекты не так уж сложно реализовать самому.
Если до сих пор не пробовали - хороший повод начать.
Delphi is Object-Oriented Programming language.
...
Рейтинг: 0 / 0
25.05.2020, 14:45
    #39961713
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нарисовать диаграмму Ганта. Отображение около 10000 элементов на форме.
Jonnik
Нужно отображать что угодно, но в виде красивых прямоугольников, которые можно будет перемещать, менять размеры. При наведение мышки показывать подсказки. На них можно написать текст.
TChart

Jonnik
10 000 штук форма не зависала при прорисовки?
Jonnik
Хочется их сразу нарисовать, что бы не заниматься перерисовкой объектов при скролинге.
Так не бывает. Если вы используете 10000 объектов, а потом делаете сролл/зуум, значит кто-то должен пересчитать 10000 координат и заново все перерисовать. Это всегда будет долго.

Вам нужно рисовать не все объекты, а только те, которые видит пользователь
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как нарисовать диаграмму Ганта. Отображение около 10000 элементов на форме. / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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