ExplorerListView 1.5.1

I’ve released a new version of ExplorerListView. It introduces the IListViewColumns::PositionsString property, which makes it a bit easier to store and restore the order of listview columns.
As no problems have been found, I’ve added Windows 8 to the list of supported operating systems.

ExplorerListView 1.5.0, ShellBrowserControls 1.3.0

I’ve released new versions of ExplorerListView and the ShellBrowserControls library. They come with a new feature called sub-item controls. It is an undocumented list view feature, that Windows Explorer uses to display the seizure of drives and the rating of media files. Now ShellListView can also use this feature.

If you use ExplorerListView as a plain list view, i.e. without ShellListView, you can also use this feature. But you should be warned that it’s not easy to use. Microsoft implemented this mainly for Windows Explorer, so it’s best used with the property system of the Windows Shell. Additionally the implementation is modern and uses data types that Visual Basic 6 can’t handle very well.

ExplorerListView 1.4.0, StatusBar 1.3.2

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.

ComboListBoxControls 1.2.2, ExplorerListView 1.3.2, ShellBrowserControls 1.2.1

I’ve released a couple of updates. ComboListBoxControls 1.2.2 fixes an important bug in the DriveComboBox control which did not display network drives that are currently not available.
ExplorerListView 1.3.2 fixes the methods for finding items, which did not work on Windows Vista and newer.
ShellBrowserControls 1.2.1 is the largest update today. It fixes several bugs, for instance Tiles view did not work for the recycle bin. It also improves support for dragging items from different namespaces or displaying a shell context menu for such items. However, the most important improvements have been made in the area of network drives. Previous versions became extremely slow if your system contained network drives and you opened “My Computer”. Performance in this area has been improved massively.

Many new releases

I’ve released the following controls:

  • DateTimeControls 1.3.0
  • EditControls 1.7.0
  • ExplorerListView 1.3.0
  • ExplorerTreeView 2.2.0
  • TabStrip 1.5.0
  • TrackBar 1.5.0

The DateTimeControls, EditControls and the TrackBar control have got the new DetectDoubleClicks property. For some controls, for instance for the Calendar control, Windows does not detect double mouse clicks. I wanted to provide DblClick events, so I worked around this limitation. Unfortunately the Microsoft developers had good reasons to not detect double-clicks for some controls. For instance if you rapidly click on the navigation arrows of the calendar control, you want the months fly by rapidly, but with double clicks enabled, the app will run into double clicks every now and then, and this slows down navigation alot. So I decided to implement a new property which can be used to deactivate my work-around. Attention: For the Calendar control and the up-down part of the UpDownTextBox control, double-clicks now are disabled by default. If you use the DblClick events of those controls, make sure to change the DetectDoubleClicks property to True.

The TabStrip control now can attach a window (usually a control) with a tab and show/hide this window depending on the tab selection. This should make it a bit easier to display different controls on each tab. For instance the attached window could be a Frame control (without border and caption) that contains a specific tab’s child controls. Selecting the tab would make the Frame control (and its content) visible; unselecting the tab would make the Frame control invisible.

ExplorerListView and ExplorerTreeView come with new sorting capabilities. There are new sort criterions which are based on the item text (just like sobText), but treat the texts as integer values, floating point values, currency values or date/time values. Your items are named “1”, “10” and “2” and you want them to be sorted “1”-“2”-“10” instead of alphabetically, which would be “1”-“10”-“2”? No problem! Simply specify sobNumericIntText as the sort criterion. You can also specify the locale identifier and a couple of flags that are applied when parsing the texts. Of course all this also applies to sorting listview groups.
Additionally I improved the ItemGetDisplayInfo event a bit.

ExplorerListView 1.2.0

I’ve released ExplorerListView 1.2.0. It fixes a problem with drag’n’drop and comes with a new feature that makes it possible to extract info tip texts asynchronously. ShellBrowserControls 1.2.0 will make use of this feature if it is supported.