|
|
|
Альтернативный TreeView
|
|||
|---|---|---|---|
|
#18+
Запилил альтернативный TreeView. Решил выложить в открытый доступ, может быть кому-нибудь пригодиться. Писал под свои конкретные нужды, поэтому исходный код достаточно своеобразен. Смотреть здесь . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2018, 13:48 |
|
||
|
Альтернативный TreeView
|
|||
|---|---|---|---|
|
#18+
С виду прикольно. Но не понятно. Твое - это то что слева? Что умеет кроме рисования? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2018, 14:28 |
|
||
|
Альтернативный TreeView
|
|||
|---|---|---|---|
|
#18+
rgreatЧто умеет кроме рисования? А что нужно уметь? По сути библиотека просто эмулирует API стандартного виндового контрола TreeView. И стандартный дельфовый TTreeView думает, что использует виндовой класс TreeView. Т.е. все что может обычный TTreeView - может и альтернативный (вру конечно, не все, я не полностью реализовал API, может позднее доведу до ума). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2018, 14:38 |
|
||
|
Альтернативный TreeView
|
|||
|---|---|---|---|
|
#18+
Aniskin, Таскать элементы можно? И есть ли смысл в иконках раскрытия узла? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2018, 15:08 |
|
||
|
Альтернативный TreeView
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Таскать элементы можно?А это можно делать в обычном TTreeView? _Vasilisk_И есть ли смысл в иконках раскрытия узла?При нажатии на них происходит открытие/закрытие (как и в обычном TTreeView). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2018, 15:16 |
|
||
|
Альтернативный TreeView
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_И есть ли смысл в иконках раскрытия узла?И они убираются обычным для TTreeView путем - свойством ShowButtons. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2018, 15:28 |
|
||
|
Альтернативный TreeView
|
|||
|---|---|---|---|
|
#18+
Я к примеру с трудом могу себе представить тех, кто реально пользуется TTreeView, потому что после TcxTreeView сложно захотеть пользоваться чем-то другим. Была ещё одна забавная штука VirtualTreeView, на которой, если не ошибають, была построена часть интерфейса самого Delphi. По поводу данного компонента: Выглядит так себе, аля Windows 95. Было бы круто, если бы элементы графа можно было двигать и рисовалось всё как-нибудь более прилично (gdi+). Непонятно зачем соединяешь корневые элементы между собой? Ну и ещё можно было бы делить элементы графика на секции - заголовок/описание. Это первое, что приходит в голову. А вообще молодец, что делишься. Таких как ты тут не так много. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2018, 15:49 |
|
||
|
Альтернативный TreeView
|
|||
|---|---|---|---|
|
#18+
DimonkaЯ к примеру с трудом могу себе представить тех, кто реально пользуется TTreeView, потому что после TcxTreeView сложно захотеть пользоваться чем-то другим.Если TcxTreeView является наследником TTreeView, то можно легким движением руки добавить в TcxTreeView такой же вид. DimonkaВыглядит так себе, аля Windows 95.Цели сделать гламурненько не ставилось :) DimonkaБыло бы круто, если бы элементы графа можно было двигатьКруто, но зачем? Dimonkaи рисовалось всё как-нибудь более приличноРасшифруй мысль. DimonkaНепонятно зачем соединяешь корневые элементы между собой?Настраивается, аналогично обычному TTreeView. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2018, 15:58 |
|
||
|
Альтернативный TreeView
|
|||
|---|---|---|---|
|
#18+
Aniskin, Антиалиасинг кривых бы добавить. Что за многострочный текст, которого нет в оригинале? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2018, 16:24 |
|
||
|
Альтернативный TreeView
|
|||
|---|---|---|---|
|
#18+
AniskinrgreatЧто умеет кроме рисования? А что нужно уметь? По сути библиотека просто эмулирует API стандартного виндового контрола TreeView. И стандартный дельфовый TTreeView думает, что использует виндовой класс TreeView. Т.е. все что может обычный TTreeView - может и альтернативный (вру конечно, не все, я не полностью реализовал API, может позднее доведу до ума).чекбоксы, мультиселект, stateimage? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2018, 16:27 |
|
||
|
Альтернативный TreeView
|
|||
|---|---|---|---|
|
#18+
rgreatАнтиалиасинг кривых бы добавить. Где то можно подсмотреть реализацию? rgreatЧто за многострочный текст, которого нет в оригинале?Если сделать TreeView.AddChild(ATreeView.Items[0], '3' + sLineBreak + 'lines' + sLineBreak + 'item'); то виндовый treeview отобразит только первую строку многострочного текста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2018, 16:30 |
|
||
|
Альтернативный TreeView
|
|||
|---|---|---|---|
|
#18+
чекбоксы - в планах есть мультиселект - обдумаю stateimage - реализовано ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2018, 16:32 |
|
||
|
Альтернативный TreeView
|
|||
|---|---|---|---|
|
#18+
как-то давно я тоже сделал свой treeview 'from scratch' (не основанный на виндовом, всё делает сам). т.к. был только интерес проверить скорость на миллионе узлов или типа того и не было реальной нужды его применять - остался в зародышевом состоянии. но код простой, если что - можно на его основе что-то более тяжелое делать. делал еще для семерки, так что для юникода может потребоваться адаптация. не из желания влезть в конкуренцию с ТС, но сугубо для развития темы - он там: https://github.com/L-G-/Delphi-Code-Examples ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2018, 16:51 |
|
||
|
Альтернативный TreeView
|
|||
|---|---|---|---|
|
#18+
AniskinГде то можно подсмотреть реализацию? https://docs.microsoft.com/en-us/windows/desktop/gdiplus/-gdiplus-antialiasing-with-lines-and-curves-about ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2018, 19:01 |
|
||
|
Альтернативный TreeView
|
|||
|---|---|---|---|
|
#18+
Aniskin, с какой конкретной целью создавался этот контО'л? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2018, 20:02 |
|
||
|
Альтернативный TreeView
|
|||
|---|---|---|---|
|
#18+
в целом хорошо. gdi+ в помощь для анти-альязинга. не смотрел, как у тебя там линии рисуются, но gdi+ умеет их сам такие рисовать с альязингом сразу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2018, 21:22 |
|
||
|
Альтернативный TreeView
|
|||
|---|---|---|---|
|
#18+
ключи для поиска: TGPGraphics, SetSmoothingMode, TGPSolidBrush, DrawCurve, DrawLines, TGPPen ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2018, 21:26 |
|
||
|
Альтернативный TreeView
|
|||
|---|---|---|---|
|
#18+
Судя по скрину, очень неэкономично расходуется прстранство ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2018, 21:40 |
|
||
|
Альтернативный TreeView
|
|||
|---|---|---|---|
|
#18+
DimaBrСудя по скрину, очень неэкономично расходуется прстранствоЯвных косяков не видно. Вкусовщина у тебя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2018, 21:49 |
|
||
|
Альтернативный TreeView
|
|||
|---|---|---|---|
|
#18+
Сравниваем размеры одних и тех же данных и раскрытых веток ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2018, 22:01 |
|
||
|
Альтернативный TreeView
|
|||
|---|---|---|---|
|
#18+
DimaBr, Доктор, когда я вот вот так вот делаю у меня болит..(( - А вы вот вот так вот не делайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2018, 22:14 |
|
||
|
Альтернативный TreeView
|
|||
|---|---|---|---|
|
#18+
Котовасияс какой конкретной целью создавался этот контО'л? Эээ... что бы нарисовать дерево в виде дерева с возможностью интерактива. Надеюсь правильно понял вопрос. makhaongdi+ умеет их сам такие рисовать с альязингом сразу Спасибо, поизучаю, как будет время. DimaBrСудя по скрину, очень неэкономично расходуется прстранство Нужно понимать, что каждый UI элемент имеет свое предназначение. Мое дерево не предназначено для тысяч элементов. Оно скорее для отображения картинки вида "Вот я, вот мои папа и мама, вот мои бабушки и дедушки". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2018, 04:53 |
|
||
|
Альтернативный TreeView
|
|||
|---|---|---|---|
|
#18+
AniskinЧто то GDI+ меня особо не впечатлил: с GDI+ красиво выглядит, без GDI - словно рубили топором ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2018, 08:47 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39704365&tid=2040324]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
157ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
94ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 545ms |

| 0 / 0 |
