![]() |
|
|
![]()
|
|
| tonchitos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 24.2.2007 Репутация: 1 Всего: 40 |
У меня есть дерево, CTreeCtrl.
которое является графическим представлением модели (UML) так вот...каждый узел дерева хранит указатель на элемент в дереве данных.... У меня в дереве есть некоторые элементы (класс...... таккие элементы хранят атрибуты, операции и еще один узел, в котором есть список базовых классов... класс атрибут атрибут атрибут операция операция базовые классы базовый класс один базовый класс два так вот если все атрибуты и операции и классы и пакеты и проч в itemData хранят указатель на идентификатор элемента в дереве данных... то узел-базовый класс должен хранить указатель на HTREEITEM этого базового класса... чтобы при клике на базовый класс происходил переход к нему в дереве... какпоступить... наверно надо в том классе который от дерева гуевого отнаследован добавить вектор HTREEITEMов, а? и хранить казатели? как то так, да? -------------------- – Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил. |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Зачем? Ты для любого HTREEITEM можешь спросить парента у дерева.
И ни в коем случае не надо в логическую структуру данных (в класс свой) никаких упоминаний о ГУИ. А вот каждый итем дерева пусть хранит какую то ссылку на логические данные. -------------------- ... |
|||
|
||||
| Rififi |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 2 Всего: 36 |
создаешь структуру UML, которая содержит список главных сущностей - в данном случе это Класс
далее какая-нибудь функция типа void UML::render(CTreeCtrl&) которая маппит внутренние данные в контрол |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Не слушай его, tonchitos,
-------------------- ... |
|||
|
||||
| tonchitos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 24.2.2007 Репутация: 1 Всего: 40 |
А вообще вот что решили - создаем класс, содержащий инт, строку, и htreeitm. ну и ясное дело создаем вектор классов... Каждому инту (индексу соответствует строка и htreeitm) потом в дерево записываем индексы тогда по htreeitmу можно получить строку и ид, по ид строку и htreeitm ии тп... То есть работа во всех направлениях... А элементы в списке базовых классов будут иметь такие же индексы как базовые, но соответствия инлдекса и их htreeitmа не будет... так мы сможем отличать узел с базовым классом от виртуального узла ))) -------------------- – Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |