Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Многострочные заголовки в TVirtualStringTree


Автор: mania 8.6.2007, 10:22
Кто работал с TVirtualStringTree, может есть какие-нибудь идеи как сделать многострочные заголовки?

P.S. На форуме C++Builder полная тишина по этому вопросу

Автор: aktuba 8.6.2007, 10:57
А что сложного-то??? Для самостоятельной отрисовки заголовков есть специальные обработчики - их и используй. Не пойму что сложного...

Автор: mania 8.6.2007, 14:28
aktuba, спасибо за ответ. Обработчики - это хорошо.

Сложность в том, что я хочу не просто создать несколько строк в заголовке, а чтобы текст, неумещающийся по ширине переносился на новые линии. Аналогично опции vsMultiline для узла.
Чё-то мне не придумать как сделать... :(

Автор: aktuba 8.6.2007, 15:36
Цитата

Сложность в том, что я хочу не просто создать несколько строк в заголовке, а чтобы текст, неумещающийся по ширине переносился на новые линии. Аналогично опции vsMultiline для узла.
Чё-то мне не придумать как сделать... :( 


Так, я немного не пойму. Давно с VT работаешь? Если да, должен знать, что можно задать высоту заголовка и отрисовывать его самому. Алгоритм следующий:

1. Пробегаешь по всем заголовкам и вычисляешь высоту, необходимую для текущего заголовка. Использовать можно методы WinAPI или канвы.
2. Устанавливаешь в качестве высоты заголовка VT самое большое значение, из найденных в п.1
3. В обработчике отрисовки заголовка выводишь средствами WinAPI или канвы нужный тебе текст (и/или графику). Rect там есть, функция переноса есть в WinAPI, т.ч. ничего сложного нет.

Что-то еще не понятно?

Автор: mania 9.6.2007, 08:32
Цитата

3. В обработчике отрисовки заголовка выводишь средствами WinAPI или канвы нужный тебе текст (и/или графику). Rect там есть, функция переноса есть в WinAPI, т.ч. ничего сложного нет.


Точно! Спасибо!!!
И о чём я думала... smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)