Согласен.Disillusioned писал(а):50 вхождений - пустяки однако, и десятки тысяч не редкость...
На настоящий момент, определение родителя более чем на один уровень в открытой ветке (в общем случае), навряд ли будет возможно, т.к. сведения о том, какой проект открыт в текущем окне, недоступны.
На мой взгляд, с большей пользой можно потратить время на то, чтобы ориентировать интерфейс и бизнес-логику на работу "от родителя".
Я бы даже посоветовал создать подобие обработчика событий как в С++ Builder. То есть по событию выбрали объект в дереве, открыли, закрыли и т.д. (по хорошему, желательно, все обработчики событий, присутствующие в бильдере С++ Builder, для деревьев класса TTreeView)