| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Оформление VitrualTreeView |
| Автор: estra 22.12.2009, 16:10 |
Есть VitrualTreeView, заполняемое примерно следующим образом![]() 1. Можно ли (и если да, то как) сделать эффект объединения ячеек, как в Excel, чтобы текст (в данном случае название фильма) не обрывался у границы первой колонки, а продолжал писаться во второй, третьей и т.д., сколько бы их не было? 2. Хочется использовать фон у VitrualTreeView, но когда я в событии BeforeCellPaint делаю отрисовку, то под ней фона не видно (что конечно же логично). Хочу, отрисовывая свой фон, сделать эффект полупрозрачности, для чего мне нужно получить координаты ячейки относительно VitrualTreeView, а зная их скопировать часть канвы с этими координатами, и рисовать уже на этой копии. Как это можно сделать? Очень надеюсь на помощь форумчан! |
| Автор: kami 22.12.2009, 20:45 |
| по п.1: AutoSpanColumns в TreeOptions>AutoOptions поставить в True. В ячейках, которые стоят после длинного текста должно быть '' (пустая строка), неплохо так же (imho) сделать обработчик события OnGetCellIsEmpty. |
| Автор: estra 22.12.2009, 21:25 | ||
Спасибо!
А можно поподробнее? С какой целью нужно обрабатывать это событие? Если можно, приведите для наглядности пример… |
| Автор: kami 22.12.2009, 22:47 | ||
| Давненько не заглядывал уже в исходники VT, но если не изменяет память, это событие активно используется для определения - стоит ли отрисовывать границы ячеек, их фон и т.п... Можно, конечно, и без него (все работать будет), но кажется дольше (с лишними вызовами к примеру отрисовки). Пример из моего кода:
|