|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
Можно ли как-то настроить VirtualStringTree, чтобы для длинного текста в одной из ячеек он автоматически увеличивал высоту всей ноды и отрисовывать текст в этой ячейке в несколько строк по образцу своих аналогов из DevExpress? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2019, 08:42 |
|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
Vlad F, можно. Помечаешь нужные узлы как "многострочные": Код: pascal 1. 2. 3. 4. 5.
А событии OnMeasureItem высчитываешь высоту. Например - по количеству строк, разделенных #10. Сначала проверяешь, что данных нод - многострочный Код: pascal 1.
Потом сканируешь текст нужных столбцов Код: pascal 1. 2. 3. 4.
Потом вычисляешь высоту нода с учетом шрифта. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2019, 09:37 |
|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
ёёёёё, Отоночо, Михалыч! (с)) Даже боюсь дальше спрашивать, - со строкой заголовков - тоже так? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2019, 12:36 |
|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
OFF просто взгляд человека со стороны: явная недоработка компонента, странно что за столько лет не сделали свойства .AutoHeight:boolean. Или сделали? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2019, 12:43 |
|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
ёёёёё, Впрочем, с заголовком уже в демке нашел, спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2019, 12:43 |
|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
Кроик Семён, Ну, дык, нетути, судя по всему. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2019, 12:45 |
|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
P.S. хотя вроде бы чтото есть: https://stackoverflow.com/questions/30216707/tvirtualstringtree-variable-row-height-optimization ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2019, 12:46 |
|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
Кроик Семён, Что-то, и даже многое, вне всякого сомнения, есть, но ты уверен, что по ссылке это самое оно? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2019, 13:33 |
|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
не, это я поспешил ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2019, 14:31 |
|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
Vlad F, можно и к заголовку. Свойство Height ты можешь поменять в любой момент после изменения ширины столбцов и текста колонки, как хочется. Надо только заставить верно текст отображаться. Посмотри внутрь метода TVirtualTreeColumns.PaintHeader. У хэдера надо установить owner draw mode, и заюзать события OnHeaderDrawQueryElements и AdvancedHeaderDraw. В первом определяешь, что нужно рисовать "особым образом" (set of THeaderPaintElements), второе вызывается применительно к этим элементам - тут и рисуй. Мы так делали, например, объединенные колонки. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2019, 15:06 |
|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
VTV настолько богат возможностями, что некоторые вещи приходится делать довольно-таки большим количеством кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2019, 15:27 |
|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
ёёёёё, Заголовок, проехали, я же вроде сразу поправился, ибо многострочность в нем все-таки управляется свойствами. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2019, 15:31 |
|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
Василий 2VTV настолько богат возможностями, что некоторые вещи приходится делать довольно-таки большим количеством кода. Да. И даже многие простые вещи в нем приходится делать с нуля. "Виртуализация" - это хорошо, но со временем достаёт. Я все реже его использую, и все чаще что-либо из DevExpress или EhLib. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2019, 15:42 |
|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
ёёёёё, Счастливчик, хех. Передо мной сейчас задача перевода одного серьезного приложения с DevExpress на стандартные или фриварные компоненты. Это какой-то ацкий ад. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2019, 16:06 |
|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
Vlad FПередо мной сейчас задача перевода одного серьезного приложения с DevExpress на стандартные или фриварные компоненты. Как возникли такие требования? Время программиста, ведь, тоже не бесплатное .... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2019, 22:44 |
|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
нет таких бесплатных компонентов, ну как минимум ehlib нужен, на стандартных ты аналога не сделаешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 00:00 |
|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
энди, +11050. И VTV в 2019 использовать - нет больше причин, кроме поддержки старых проектов. Гемор один. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 07:57 |
|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
ёёёёё> И VTV в 2019 использовать - нет причин А чего так? Разонравилось, девки ваше всё? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 09:35 |
|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустамёёёёё> И VTV в 2019 использовать - нет причин А чего так? Разонравилось, девки ваше всё? Например, для создания редактируемой таблички всякий создавать реализацию интерфейса IVTEditLink, подсовывать их в обработчике OnCreateEditor, руками отрабатывать условия старта и завершения редактирования - это все немеряно гибко и увлекательно, но съедает время. Даже "высший пилотаж" с DevExpress, когда работаешь с кастомными источниками данных и редакторами, реализуется куда быстрее. Ну да, с DevExpress изначально нужно долго разбираться, зато потом есть масса готовых вариантов применения. А с VTV хардкодить приходится все время. Да, наработаны заготовки, но по факту получилось ничуть не лучше предлагаемого готового, а как бы не наоборот. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 09:57 |
|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
ёёёёёНапример, для создания редактируемой таблички всякий создавать реализацию интерфейса IVTEditLink, подсовывать их в обработчике OnCreateEditor, руками отрабатывать условия старта и завершения редактирования - это все немеряно гибко и увлекательно, но съедает время. Это только если редактировать через нестандартные контролы, а обычный Edit есть из коробки. К тому же вот есть эти наработки, а кто-то хоть раз ими поделился с разработчиками? Вот и сидят все свои велосипеды пилят. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 10:44 |
|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
Василий 2, редактор "из коробки" очень уж убог, непонятно зачем он вообще реализован. ... Делиться с разработчиком - чем? Фишка VTV как раз в том, что в нем все по-максимуму вынесено "наружу" - кастомизируй на здоровье. Другое дело, это самое "здоровье" - ресурс ограниченный. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 10:59 |
|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
ёёёёёВасилий 2, редактор "из коробки" очень уж убог, непонятно зачем он вообще реализован. ... Делиться с разработчиком - чем? Фишка VTV как раз в том, что в нем все по-максимуму вынесено "наружу" - кастомизируй на здоровье. Другое дело, это самое "здоровье" - ресурс ограниченный. Убог? Обычный виндовый/мсд-ный edit. Что еще нужно для простых ячеек? Делиться, к примеру, реализациями editlink. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 15:40 |
|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
ёёёёёГаджимурадов Рустамёёёёё> И VTV в 2019 использовать - нет причин А чего так? Разонравилось, девки ваше всё? Например, для создания редактируемой таблички всякий создавать реализацию интерфейса IVTEditLink, подсовывать их в обработчике OnCreateEditor, руками отрабатывать условия старта и завершения редактирования - это все немеряно гибко и увлекательно, но съедает время. А что за причина такая, что не даёт вам один раз втулить нужное в VTV и пользоваться этим на своё здоровье? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2019, 05:47 |
|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
ain-2, Настоящих буйных мало, вот и нету вожаков. (с)) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2019, 09:15 |
|
VirtualTreeView: многострочный текст в ячейках
|
|||
---|---|---|---|
#18+
Когда-то давно, ниасилив понять почему так сложно пробежаться по датасету без парадигмы "текущая запись, и только так", сделал себе массив рекордов, прицепив их к подобию DrawGrid. Тогда мне для этого попался GridView от Романа Мочалова. Что бы каждый раз при использовании не писать новых рекордов и обработчиков, организовал это в виде "динамического массива" с динамически объявляемыми полями. Через какое-то время мне понадобилось от грида что-то, чего там не было, или я не нашел, кажется работа с колесом мыши. Перешел на VTV. В нем кое-чего нет, что было в гриде Мочалова, но есть колесо и его же можно использовать при нужде в дереве. Таким образом, мне не нужны ни родные датасеты, ни дбгриды, вообще никакие дб-контролы. Переползал несколько раз с одной версии Дельфи на другую, и именно с этим комплектом у меня не было никаких проблем. Так что, некотрая степень "буйности", имеется :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2019, 09:37 |
|
|
start [/forum/topic.php?fid=58&msg=39816353&tid=2037103]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
others: | 271ms |
total: | 431ms |
0 / 0 |