powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Альтернативный TreeView
25 сообщений из 63, страница 1 из 3
Альтернативный TreeView
    #39704231
Aniskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запилил альтернативный TreeView. Решил выложить в открытый доступ, может быть кому-нибудь пригодиться. Писал под свои конкретные нужды, поэтому исходный код достаточно своеобразен.

Картинка


Смотреть здесь .
...
Рейтинг: 0 / 0
Альтернативный TreeView
    #39704288
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С виду прикольно. Но не понятно. Твое - это то что слева?
Что умеет кроме рисования?
...
Рейтинг: 0 / 0
Альтернативный TreeView
    #39704293
Aniskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rgreatЧто умеет кроме рисования?
А что нужно уметь? По сути библиотека просто эмулирует API стандартного виндового контрола TreeView. И стандартный дельфовый TTreeView думает, что использует виндовой класс TreeView. Т.е. все что может обычный TTreeView - может и альтернативный (вру конечно, не все, я не полностью реализовал API, может позднее доведу до ума).
...
Рейтинг: 0 / 0
Альтернативный TreeView
    #39704326
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aniskin,

Таскать элементы можно?

И есть ли смысл в иконках раскрытия узла?
...
Рейтинг: 0 / 0
Альтернативный TreeView
    #39704336
Aniskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_Таскать элементы можно?А это можно делать в обычном TTreeView?

_Vasilisk_И есть ли смысл в иконках раскрытия узла?При нажатии на них происходит открытие/закрытие (как и в обычном TTreeView).
...
Рейтинг: 0 / 0
Альтернативный TreeView
    #39704344
Aniskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_И есть ли смысл в иконках раскрытия узла?И они убираются обычным для TTreeView путем - свойством ShowButtons.
...
Рейтинг: 0 / 0
Альтернативный TreeView
    #39704365
Фотография Dimonka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я к примеру с трудом могу себе представить тех, кто реально пользуется TTreeView, потому что после TcxTreeView сложно захотеть пользоваться чем-то другим.
Была ещё одна забавная штука VirtualTreeView, на которой, если не ошибають, была построена часть интерфейса самого Delphi.

По поводу данного компонента:
Выглядит так себе, аля Windows 95.

Было бы круто, если бы элементы графа можно было двигать и рисовалось всё как-нибудь более прилично (gdi+).
Непонятно зачем соединяешь корневые элементы между собой?
Ну и ещё можно было бы делить элементы графика на секции - заголовок/описание.

Это первое, что приходит в голову.

А вообще молодец, что делишься. Таких как ты тут не так много. :-)
...
Рейтинг: 0 / 0
Альтернативный TreeView
    #39704374
Aniskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimonkaЯ к примеру с трудом могу себе представить тех, кто реально пользуется TTreeView, потому что после TcxTreeView сложно захотеть пользоваться чем-то другим.Если TcxTreeView является наследником TTreeView, то можно легким движением руки добавить в TcxTreeView такой же вид.

DimonkaВыглядит так себе, аля Windows 95.Цели сделать гламурненько не ставилось :)

DimonkaБыло бы круто, если бы элементы графа можно было двигатьКруто, но зачем?

Dimonkaи рисовалось всё как-нибудь более приличноРасшифруй мысль.

DimonkaНепонятно зачем соединяешь корневые элементы между собой?Настраивается, аналогично обычному TTreeView.
...
Рейтинг: 0 / 0
Альтернативный TreeView
    #39704393
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aniskin,

Антиалиасинг кривых бы добавить.

Что за многострочный текст, которого нет в оригинале?
...
Рейтинг: 0 / 0
Альтернативный TreeView
    #39704397
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AniskinrgreatЧто умеет кроме рисования?
А что нужно уметь? По сути библиотека просто эмулирует API стандартного виндового контрола TreeView. И стандартный дельфовый TTreeView думает, что использует виндовой класс TreeView. Т.е. все что может обычный TTreeView - может и альтернативный (вру конечно, не все, я не полностью реализовал API, может позднее доведу до ума).чекбоксы, мультиселект, stateimage?
...
Рейтинг: 0 / 0
Альтернативный TreeView
    #39704400
Aniskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rgreatАнтиалиасинг кривых бы добавить.
Где то можно подсмотреть реализацию?

rgreatЧто за многострочный текст, которого нет в оригинале?Если сделать

TreeView.AddChild(ATreeView.Items[0], '3' + sLineBreak + 'lines' + sLineBreak + 'item');

то виндовый treeview отобразит только первую строку многострочного текста.
...
Рейтинг: 0 / 0
Альтернативный TreeView
    #39704401
Aniskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чекбоксы - в планах есть
мультиселект - обдумаю
stateimage - реализовано
...
Рейтинг: 0 / 0
Альтернативный TreeView
    #39704425
L1G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как-то давно я тоже сделал свой treeview 'from scratch' (не основанный на виндовом, всё делает сам).
т.к. был только интерес проверить скорость на миллионе узлов или типа того и не было реальной нужды его применять - остался в зародышевом состоянии.
но код простой, если что - можно на его основе что-то более тяжелое делать.
делал еще для семерки, так что для юникода может потребоваться адаптация.

не из желания влезть в конкуренцию с ТС, но сугубо для развития темы - он там:
https://github.com/L-G-/Delphi-Code-Examples
...
Рейтинг: 0 / 0
Альтернативный TreeView
    #39704503
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AniskinГде то можно подсмотреть реализацию?
https://docs.microsoft.com/en-us/windows/desktop/gdiplus/-gdiplus-antialiasing-with-lines-and-curves-about
...
Рейтинг: 0 / 0
Альтернативный TreeView
    #39704545
Котовасия
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aniskin,
с какой конкретной целью создавался этот контО'л?
...
Рейтинг: 0 / 0
Альтернативный TreeView
    #39704589
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в целом хорошо. gdi+ в помощь для анти-альязинга. не смотрел, как у тебя там линии рисуются, но gdi+ умеет их сам такие рисовать с альязингом сразу.
...
Рейтинг: 0 / 0
Альтернативный TreeView
    #39704592
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ключи для поиска: TGPGraphics, SetSmoothingMode, TGPSolidBrush, DrawCurve, DrawLines, TGPPen
...
Рейтинг: 0 / 0
Альтернативный TreeView
    #39704596
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Судя по скрину, очень неэкономично расходуется прстранство
...
Рейтинг: 0 / 0
Альтернативный TreeView
    #39704599
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBrСудя по скрину, очень неэкономично расходуется прстранствоЯвных косяков не видно. Вкусовщина у тебя.
...
Рейтинг: 0 / 0
Альтернативный TreeView
    #39704601
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сравниваем размеры одних и тех же данных и раскрытых веток
...
Рейтинг: 0 / 0
Альтернативный TreeView
    #39704605
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr,

Доктор, когда я вот вот так вот делаю у меня болит..((

- А вы вот вот так вот не делайте.
...
Рейтинг: 0 / 0
Альтернативный TreeView
    #39704645
Aniskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Котовасияс какой конкретной целью создавался этот контО'л?
Эээ... что бы нарисовать дерево в виде дерева с возможностью интерактива. Надеюсь правильно понял вопрос.

makhaongdi+ умеет их сам такие рисовать с альязингом сразу
Спасибо, поизучаю, как будет время.

DimaBrСудя по скрину, очень неэкономично расходуется прстранство
Нужно понимать, что каждый UI элемент имеет свое предназначение. Мое дерево не предназначено для тысяч элементов. Оно скорее для отображения картинки вида "Вот я, вот мои папа и мама, вот мои бабушки и дедушки".
...
Рейтинг: 0 / 0
Альтернативный TreeView
    #39704667
Aniskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что то GDI+ меня особо не впечатлил:

...
Рейтинг: 0 / 0
Альтернативный TreeView
    #39704683
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
AniskinЧто то GDI+ меня особо не впечатлил:


с GDI+ красиво выглядит, без GDI - словно рубили топором
...
Рейтинг: 0 / 0
Альтернативный TreeView
    #39704687
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
я уже придумал, где использовать это няшное дерево,
усеры будут пищать от восторга
...
Рейтинг: 0 / 0
25 сообщений из 63, страница 1 из 3
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Альтернативный TreeView
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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