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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

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

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

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

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


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

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

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


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