Добрый день уважаемые. Возникла острая необходимость в отображении специфического XML-дерева в виде дерева

с возможностью его редактировать и сохранять. На RSDN нашел контрол CFListCtrl, умеющий строить деревья из различных элементов: Edit, ComboBox и CheckBox, но он оказался жутко каряво написан и дописывать его очень проблематично. Кто-нибудь использует подобные контролы для отображения в древесном виде? Очень буду благодарен за любую информацию.