I’ve released a new version of ExplorerTreeView. It fixes a bug in the ITreeViewItems::Add method and includes a new feature: When inserting items, it no longer is necessary to tell the control whether the item should be displayed with an expando (“+”/”-” button). Instead you can let the control decide this. The control will display an expando as soon as the item gets a sub-item (and remove it when the last sub-item gets removed).
Unfortunately this feature requires version 6 of comctl32.dll, i.e. you need to specify a manifest file for your application. The reason for this limitation is that the feature relies on a feature of the native list view control of Microsoft Windows and the native list view doesn’t provide this feature in older versions.