The set of the classes to implement combo tree functionality contains 3 basic classes and a template class based on this classes to provide such functionality. These classes were designed in this way to allow more flexibility. So, we can use instead of dropdown CTreeCtrl another dropdown controls like COXTreeCtrl or COXShellFolderTree etc.

The main class in this set is a COXComboDropDown - this is an abstract class, where most function defined as pure virtual function. This class provides sizing, showing and another managment. Second, COXComboPickerCtrl is derived from CComboBox and has relationship with COXComboDropDown throw a pointer m_pDropDown to COXComboDropDown. This class handles "combo-part" stuff of this set of the clases.
And last class, COXDropDownContainer is a parent for dropdown controls, (CTreeCtrl, for example). 

To create your own class based on this set, you have to derive your class from your dropdown control and from COXComboDropDown where you override pure virtual functions. To use CTreeCtrl derived classes you can use COXTreeComboDropDown<PARENTTREE> class.