I’ve updated the StatusBar, TabStrip, ToolBarControls, and TrackBar control libraries to fix the memory leaks. Now all controls are up-to-date again.
I’ve updated the Pager and StatusBar controls to fix the drag’n’drop crashes.
Today I’ve released updates to the LabelControls, StatusBar, and TabStrip libraries, introducing the FinishOLEDragDrop method.
I’ve released an update of the StatusBar control. It now provides events for extended mouse button clicks.
Be aware that the events for the extended mouse buttons depend on the mouse driver configuration. So if they are not raised at all, this is more likely because of the mouse driver than because of potential bugs in the control library.
I’ve released updates for the ProgressBar, StatusBar and TrackBar controls. ProgressBar and TrackBar no longer support data-binding. The reasons are the same as for the ComboListBoxControls library which I’ve released three days ago.
All three releases also fix problems with the ResizedControlWindow event and Windows 8 now is officially supported.
I’ve released versions 1.4.0 of ExplorerListView and 1.3.2 of StatusBar. ExplorerListView has been extended with a couple of new events that are raised if a group has been collapsed/expanded, if a group has gained or lost the keyboard focus and if the selection state of a group has changed.
The StatusBar control has been fixed so that it no longer raises the Validate event of the currently focused control if the StatusBar is double-clicked.
I’ve released the remaining updates. ShellBrowserControls has been ported to Visual C++ 2010 (no support for Windows 2000 anymore, sorry). The other releases are bugfix releases.
Here are some more controls that I have fixed and migrated to Visual C++ 2010.
I have updated DateTimeControls and StatusBar. The StatusBar update fixes a crash that occured when the control tried to retrieve a pane’s tool tip text and this tool tip text has never been set. The crash was caused by a bug in comctl32.dll.
The DateTimeControls update fixes a major bug and a minor one. The major one occurred with version 5.x of comctl32 only. If a text box has the focus and the user clicks the drop-down button of the DateTimePicker control, the button was drawn pressed and all the events like CalendarDropDown were raised, but the Calendar never showed up, because it was destroyed again immediately. This also is a bug in comctl32.dll. I have implemented a complex work-around.
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.