| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Как бы вы поступили...Хранение ид |
| Автор: tonchitos 24.4.2008, 17:07 |
| У меня есть дерево, CTreeCtrl. которое является графическим представлением модели (UML) так вот...каждый узел дерева хранит указатель на элемент в дереве данных.... У меня в дереве есть некоторые элементы (класс...... таккие элементы хранят атрибуты, операции и еще один узел, в котором есть список базовых классов... класс атрибут атрибут атрибут операция операция базовые классы базовый класс один базовый класс два так вот если все атрибуты и операции и классы и пакеты и проч в itemData хранят указатель на идентификатор элемента в дереве данных... то узел-базовый класс должен хранить указатель на HTREEITEM этого базового класса... чтобы при клике на базовый класс происходил переход к нему в дереве... какпоступить... наверно надо в том классе который от дерева гуевого отнаследован добавить вектор HTREEITEMов, а? и хранить казатели? как то так, да? |
| Автор: Earnest 24.4.2008, 17:21 |
| Зачем? Ты для любого HTREEITEM можешь спросить парента у дерева. И ни в коем случае не надо в логическую структуру данных (в класс свой) никаких упоминаний о ГУИ. А вот каждый итем дерева пусть хранит какую то ссылку на логические данные. |
| Автор: Rififi 24.4.2008, 18:17 |
| создаешь структуру UML, которая содержит список главных сущностей - в данном случе это Класс далее какая-нибудь функция типа void UML::render(CTreeCtrl&) которая маппит внутренние данные в контрол |
| Автор: Earnest 25.4.2008, 10:05 |
| Не слушай его, tonchitos, |
| Автор: tonchitos 25.4.2008, 15:33 |
| А вообще вот что решили - создаем класс, содержащий инт, строку, и htreeitm. ну и ясное дело создаем вектор классов... Каждому инту (индексу соответствует строка и htreeitm) потом в дерево записываем индексы тогда по htreeitmу можно получить строку и ид, по ид строку и htreeitm ии тп... То есть работа во всех направлениях... А элементы в списке базовых классов будут иметь такие же индексы как базовые, но соответствия инлдекса и их htreeitmа не будет... так мы сможем отличать узел с базовым классом от виртуального узла ))) |