C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

стр.: (2) < [1] 2 >
Перенос строки в TreeView и еще 2 вопроса!
nut
Отправлено: 28.06.2006, 20:28


Ученик-кочегар

Группа: Участник
Сообщений: 22



Подскажите можно ли в TreeView сделать, чтобы надпись уходящая вправо за пределы компонента переносилась на следующую строку?
И какой самый мощный компонент типа TreeView я поискал и нашел VirtualTreeView или есть еще мощнее?
Если это он, то нет описание под него на русском, официальный хелп скачал, но там все на Delfi и английском.
olegenty
Отправлено: 29.06.2006, 06:07


Ветеран

Группа: Модератор
Сообщений: 2412



Это достаточно мощно? Если да, то компонент есть в Upload данного сайта. Звать ElTreeLight. Но тут не последняя версия, а вот последняя бесплатная версия позволяет создавать многострочные ElTreeItem.

Отредактировано olegenty — 29/06/2006, 09:21

Присоединить изображение

Присоединить изображение

Doga
Отправлено: 29.06.2006, 11:06


Мастер участка

Группа: Участник
Сообщений: 575



По моему личному мнению, VirtualTreeView самый крутой. Все вышеуказанные возможности он имеет, и даже гораздо более.

2nut
Если Вы уже скачали демопрограмму с сайта, Вы должны это понять сами. Если нет — скачайте и посмотрите.

P.S. А Паскаль, впрочем как и английский, не такие уж сложные языки biggrin.gif
olegenty
Отправлено: 29.06.2006, 11:18


Ветеран

Группа: Модератор
Сообщений: 2412



заценил описание VirtualTreeView на сайте. действительно круче.
Лена
Отправлено: 29.06.2006, 12:49


Мастер участка

Группа: Участник
Сообщений: 501



Тоже решила попробовать.
Почему-то не компилируется.
Поставила Virtual Treeview и необходимый для его работы ThemeManager. Сначала требовал пути к файлам *.hpp ThemeManager, указала. Теперь вот ошибка:



Присоединить изображение

Присоединить изображение

Лена
Отправлено: 29.06.2006, 13:22


Мастер участка

Группа: Участник
Сообщений: 501



Я вспомнила, что для Theme Manager надо сделать следующее:
Надо заменить файл uxtheme.h в папке include Builder на такой же uxtheme.h который появился в директории C:\Program Files\Soft Gems\Theme Manager\CBuilder Однако для для Virtual Treeview это не помогло.
Теперь появилась эта ошибка:
[Linker Error] Unable to open file 'VIRTUALTREES.RES'

У кого ни будь работает этот компонент на Builder-е?
Doga
Отправлено: 29.06.2006, 13:35


Мастер участка

Группа: Участник
Сообщений: 575



Странно ohmy.gif , у меня в этом месте стоит вот это:
CODE

//-------------------------------------------------------------------------
typedef enum THEMESIZE
{
TS_MIN, // minimum size
TS_TRUE, // size without stretching
TS_DRAW, // size that theme mgr will use to draw part
} THEMESIZE;
//-------------------------------------------------------------------------


И на 546 ой строке что то похожее...

А ThemeManager и VirtualTreeView я установил в один каталог, что бы не париться с путями... wink.gif

Отредактировано Doga — 29/06/2006, 13:43
Лена
Отправлено: 29.06.2006, 13:50


Мастер участка

Группа: Участник
Сообщений: 501



>А ThemeManager и VirtualTreeView я установил в один каталог,

Я просто воспользовалась их инсталяторами. Они сами все установили. sad.gif

$(ProgramFiles)\Soft Gems\Virtual Treeview\Source
$(ProgramFiles)\Soft Gems\Theme Manager\Source

Файл VirtualTrees.res лежит в C:\Program Files\Soft Gems\Virtual Treeview\Source
что ему не нравиться, не знаю...
[Linker Error] Unable to open file 'VIRTUALTREES.RES'
olegenty
Отправлено: 29.06.2006, 14:25


Ветеран

Группа: Модератор
Сообщений: 2412



то что он в Lib путях у тебя не прописан
Doga
Отправлено: 29.06.2006, 14:30


Мастер участка

Группа: Участник
Сообщений: 575



Я именно поэтому всё собирал сам smile.gif Попробуйте скачать только исходники и установить компоненты лично.

Если надо, могу дать свою сборку. Правда у меня версия 4.3.1, до последней руки пока не дошли...
Лена
Отправлено: 29.06.2006, 14:52


Мастер участка

Группа: Участник
Сообщений: 501



> то что он в Lib путях у тебя не прописан

Ура, окомпилировался!
Большое всем спасибо!
Инсталлятор выглядел так солидно, а все пришлось руками прописывать, да еще и манипулировать с *.h файлами. Кошмар! smile.gif

Теперь можно и справочные файлы скачать. smile.gif

P.S.
На вкладке три компонента, это хоть правильно? smile.gif
olegenty
Отправлено: 29.06.2006, 14:54


Ветеран

Группа: Модератор
Сообщений: 2412



угу.
поставил. чё-то не возбудил меня этот компонент. в сравнении с ElTree какой-то детсколепетный. нет, фишкорюшек в скриншотах на сайте полно, но примеры говённые, через клик — AV и пр... на досуге разберусь, но компоенет сыроват. в Design Time с ним вообще невозможно работать...
Лена
Отправлено: 29.06.2006, 15:19


Мастер участка

Группа: Участник
Сообщений: 501



Рано обрадовалась. Покомпилилось, покомпилилось и снова
[Linker Error] Unable to open file 'VIRTUALTREES.RES'


>в сравнении с ElTree

А это где взять? smile.gif
olegenty
Отправлено: 29.06.2006, 15:28


Ветеран

Группа: Модератор
Сообщений: 2412



в Upload на этом сайте. (с ним будут другие проблемы, просто я их большей частью знаю. поэтому пока и не буду дёргаться. а Virtual ещё изучать надо. а это время. а его нет.)

http://cbuilder.ru/Upload/eltreelite320.zip

Отредактировано olegenty — 29/06/2006, 16:32
Лена
Отправлено: 29.06.2006, 15:34


Мастер участка

Группа: Участник
Сообщений: 501



>с ним будут другие проблемы

Большие? ohmy.gif
olegenty
Отправлено: 29.06.2006, 15:35


Ветеран

Группа: Модератор
Сообщений: 2412



угу. уйму времени потратишь, пока разберёшься в логике его работы.
Лена
Отправлено: 29.06.2006, 15:49


Мастер участка

Группа: Участник
Сообщений: 501



Лучше уж попробую разобраться в своих компонентах TMS 3.7, которые уже установлены и нормально работают. Там тоже деревья есть. smile.gif
Жаль что helpa к TMS нет...
Gedeon
Отправлено: 29.06.2006, 16:21


Ветеран

Группа: Модератор
Сообщений: 1742



Там ничего сложного с виртуало нету, важно понять 1 раз принцип его работы, дальше все тривиально. Он очень толков если работа идет с большим кол-вом итемов ~ миллионов, мгновенно.

ЗЫ. Компоненты всегда ставлю руками из сорцов, компоненты без сорцов не юзаю. smile.gif
Doga
Отправлено: 29.06.2006, 17:54


Мастер участка

Группа: Участник
Сообщений: 575



Полностью согласен с Gedeon'ом!
nut
Отправлено: 29.06.2006, 18:22


Ученик-кочегар

Группа: Участник
Сообщений: 22



to Doga && Gedeon подскажите
как установить програмно ширину VTreeView
посмотреть Text выбранного Noda
узнать отца выбранного Noda
установить ImafeIndex и SelectIndex выбранного Noda
удалить выбраннный Noda
начать редактирование выбранного Noda
добавить Node и добавить сына Nody
Doga
Отправлено: 29.06.2006, 21:36


Мастер участка

Группа: Участник
Сообщений: 575



1. Ширина всегда и везде Width.

2. Text выбранного Noda Вы сначала должны как либо связать с ним. Для этого в структуре TVirtualNode существует поле Data. Именно в этом поле Вы можете хранить все свои данные для выбранного Noda, в т.ч. и текст. Доступ к данным Нода можно осуществить с помощью метода VirtualStringTree->GetNodeData(Node); А получение из данных текста (и ли ещё чего либо) зависит от организации этих самых данных (класс, структура, просто массив, ...).

3. Отец Нода: Node->Parent.

4. ImafeIndex и SelectIndex Нода требуются только для обработчика события OnGetImageIndex. Саму картинку хранить в TImageList (свойство VirtualStringTree->Images), а её индекс хранить там же где и так же как как текст (см. пункт 2).

5. Удаление Нода(ов):
VirtualStringTree->DeleteNode(...);
VirtualStringTree->DeleteChildren(...);
VirtualStringTree->DeleteSelectedNodes();

6 . Редактирование Нода:
VirtualStringTree->EditNode(...);
Прекратить вышеуказанное:
VirtualStringTree->EndEditNode();

7. Добавить нужное кол-во корневых Нодов (например 1):
VirtualStringTree->RootNodeCount = 1; или
VirtualStringTree->AddChild(NULL);
Добавить сына Ноду:
VirtualStringTree->AddChild(Node);



Мдя... Почти весь хэлп перевёл biggrin.gif
nut
Отправлено: 29.06.2006, 22:51


Ученик-кочегар

Группа: Участник
Сообщений: 22



to Doga огромное спасибо вот только не понятно по второму вопросу можеш привести простой код а то врубится немогу!
olegenty
Отправлено: 30.06.2006, 05:59


Ветеран

Группа: Модератор
Сообщений: 2412



Меня больше другое интересует — многоколоночный TreeGrid. и уж колонки неплохо бы в дизайн-тайме заиметь (хотя не принципиально).

Ну и ElTree — тормоз, это известно. Работает побыстрее стандартного TreeView, но всё равно не шустро.

Отредактировано olegenty — 30/06/2006, 07:01
SmAlex
  Отправлено: 30.06.2006, 09:44


Станционный диспетчер

Группа: Участник
Сообщений: 91



А где можно скачать VirtualTreeView ? ссылочку кто-нибудь может дать ?
Doga
Отправлено: 30.06.2006, 10:08


Мастер участка

Группа: Участник
Сообщений: 575



http://www.soft-gems.net/VirtualTreeview/

Отредактировано Doga — 30/06/2006, 10:10
olegenty
Отправлено: 30.06.2006, 10:17


Ветеран

Группа: Модератор
Сообщений: 2412



скачать можно с сайта разработчика. smile.gif компоент бесплатен.
http://www.soft-gems.net/
SmAlex
  Отправлено: 30.06.2006, 10:28


Станционный диспетчер

Группа: Участник
Сообщений: 91



Спасибо, скачал , там также help есть, но ёклмн... инсталляция в нём прописана только для Delphi.... Разберусь как-нибудь...
olegenty
Отправлено: 30.06.2006, 10:42


Ветеран

Группа: Модератор
Сообщений: 2412



да всё просто, ставишь XP Theme Manager, затем VirtualTreeView. пакеты сначала без D, потом с D
Doga
Отправлено: 30.06.2006, 11:38


Мастер участка

Группа: Участник
Сообщений: 575



Сейчас пишу демку с VirtualTreeView.

Когда будет готово, выложу...
olegenty
Отправлено: 30.06.2006, 12:02


Ветеран

Группа: Модератор
Сообщений: 2412



это будет гуд. желательно, чтобы с дерево-гридом smile.gif с разнацветной раскраской ячеек и изменением шрифтов. воще тогда будет ляпота оптом.

Отредактировано olegenty — 30/06/2006, 13:03
стр.: (2) < [1] 2 >
Вернуться в Вопросы программирования в C++Builder