| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Вопрос по Virtual Treeview |
| Автор: Caduser 3.10.2006, 01:27 | ||
| Отличный компонент TVirtualStringTree, часто его использую. Возникла необходимость "нарисовать" не стандартное дерево: - у каждого узла этого дерева может быть не одна иконка, а несколько (от 1 до 3-х). Дополнительные иконки рисую в AfterItemPaint:
иконки рисуются нормально, но текст вместе с выделением оказывается под этими иконками, т.е. необходимо как то смещать текст вправо, на расстояние которое зависит от числа иконок в узле. Прошу помощи, в решении этой задачки! |
| Автор: artem1987 3.10.2006, 14:43 |
| добавляй пустые иконки там (AxB)где они не нужны |
| Автор: Caduser 4.10.2006, 00:23 | ||
пустые иконки нигде не нужны, соответственно добавлять их тоже никуда не нужно Основной вопрос "Как смещать текст узла вправо?" или по другому "Как построить дерево представленное во вложении 1.gif ?" (используя TVirtualStringTree). |
| Автор: artem1987 4.10.2006, 11:51 |
| я понял, что ты имеешь ввиду, должен быть параметр margin просто если ты вставишь второй иконку на которой ничего нет то визуально текст узла сдвинется вправо... |
| Автор: Caduser 5.10.2006, 01:08 | ||||
такой параметр есть - TextMargin, однако он работает не корректно, т.к. при этом выделение узла попадает под тополнительные иконки, появляется лишний "хвост" выделения, и самое главное - нельзя задать свой TextMargin для каждого узла.
В том то и проблема что текст самостоятельно не сдвинется вправо, его нужно как-то сдвинуть. Или может я не так вставляю дополнительные иконки? Во вложении пример. Вопрос открыт. |
| Автор: Caduser 6.10.2006, 00:48 |
| Попробовал решить проблему в TVirtualDrawTree, хотя смещать текст для каждого узла удалось, но выделение узла перекрывает дополнительные иконки, т.е. как и в TVirtualStringTree - выделение узла не смещается вправо вместе с текстом. Во вложении пример с TVirtualDrawTree и TVirtualStringTree. |