ShellBrowserControls 1.0.0 Release Candidate 1

I guess some of you did not expect it anymore, but I’ve released a first release candidate of the ShellBrowserControls library.
The library contains two controls: ShellTreeView and ShellListView. ShellTreeView can be attached to ExplorerTreeView 2.0.0 or newer, ShellListView can be attached to ExplorerListView 1.0.0 RC1 or newer. The setup contains only 1 sample, but it demonstrates how to use ShellBrowserControls, ExplorerListView, ExplorerTreeView, StatusBar, TrackBar and Animation to build a Explorer-like shell browser. The sample does not contain much code, but supports things like dynamically scalable thumbnails (in Vista design!), Tiles view, elevation overlays, drag’n’drop, context menus and much more. It also demonstrates how to mix shell items with user-defined items.
ShellBrowserControls has been designed to hide as much of the ugly shell stuff as possible while letting you customize every detail. If you don’t want to bother with shell programming, you will be happy with this library. If you are a control freak and want to control every part of the shell-browsing, you will be happy with this library as well. The only major feature that is missing is grouping support, i. e. currently there is no group view mode (although ExplorerListView supports it).
ShellBrowserControls makes extensive use of multi-threading. Loading of items, icons, thumbnails, details and columns has been moved to background threads as much as possible, so that the GUI remains responsive even if some loading process takes a long time.

If you have questions about the usage of the library, please use the forum. Some concepts seem to be complicated, but my beta tester already assured, that they are very powerful once you have understood them.
When using the controls, do not forget that tree view features are controlled by ExplorerTreeView, list view features are controlled by ExplorerListView and shell features are controlled by ShellTreeView/ShellListView.

This is the most complex software I have ever written. I did extensive tests, but be aware of bugs.

ExplorerListView 1.0.0 RC1

As I consider the interface for the ShellBrowserControls to be complete, I’ve decided to release an update of ExplorerListView. The changes are massive. There are new features like group footers, subsetted groups and grouping in virtual mode. Other features have been improved, e. g. there is an extended full row selection mode now. Of course I have also fixed bugs.
Unfortunately I had to break compatibility, but that’s why the previous release was labeled as a beta.

By the way, the ShellBrowserControls library currently is in final tests.

ExplorerListView 1.0.0 Beta 5

Much later than planned I have released an update of ExplorerListView. The changelog is as long as a novel. Most changes are new features available on Windows Vista. No less important is the implementation of the interface for the upcoming ShellBrowser control. I’ve also fixed many bugs.
Support for Windows 98, ME and NT4 has been dropped because my compiler doesn’t support those systems anymore. But Windows 7 is already supported.

ExplorerTreeView 2.0.0 RC1

The last release of ExplorerTreeView 2.0 was Beta 4 and it was 3 years ago!! Time for an update, I guess.

So here’s the first release candidate of 2.0. The changelog is long – very long. The biggest changes are the Vista support and the interface for the upcoming ShellBrowser control. There are also some changes that break compatibility, but that’s why I called the previous releases beta. Support for multiselect, background images and Windows 98/ME/NT4 has been dropped.

I thought about also providing the last build compatible with 98/ME/NT4 like I do with the other controls. But I made too many important bugfixes after the upgrade to Visual Studio 2008, so there would not be much use for this build.

Some final words about ShellBrowser: The treeview part of this control is finished (needs testing though). The listview part of it needs some more love, but there are good chances that we’ll see a first beta release before the end of the year.