Native VCL Explorer Shell Controls for Delphi

V10.4.1 Released on 31 July 2017

TJamDragFiles: Using this new component you can start shell drag operations from arbitrary VCL controls. Have a look at the OleDragDrop example project to check out how it works.

TJamShellSearchEdit: Search results are now added asynchronously to linked components. The TJamShellList now gives feedback on the state of a running search.

Bugfix - TJamShellList: Problems with filling a ShellList asynchronously (e.g. for network folders or search results) have been fixed. In addition, the "OnPopulated" event is now only called when the folder contents are fully loaded.

Bugfix - TJamShellTree: The style of fonts is now applied too.

Bugfix - TJamShellTree: On Windows 10 network drives were not displayed in the "This PC" node occasionally. This has been fixed.

Bugfix - TJamShellList: Multithreaded access has been improved for a smooth loading of thumbnails.

Bugfix - TJamShellList: Like in Windows Explorer, files and folders are now sorted separately.

Bugfix - Windows XP: The TJamShellList will now refresh when file system changes occur on Windows Desktop. Deleting elements via the context menu now triggers the "OnOperation" event.

ItemIdList: Using the new "IItemIdist.GetPropertyValue" method it is now possible to read metadata from the property system of a shell item.

Several minor bugfixes and improvements have been incorporated.

V10.4 Released on 11 April 2017

Support for RAD Studio 10.2 Tokyo has been added.

TJamShellBreadCrumbBar: The component now offers an optional refresh button that reloads the current contents of controls linked via a TJamShellLink. The button is part of the "Visible Panes" property.

TJamShellBreadCrumbBar: Using the "ShowHint" property you can control whether tooltips shall be displayed for the buttons.

TJamShellBreadCrumbBar, TJamShellHistoryPane: The components now fully support the "StyleElements" property.

TImageFromImageList: Transparency in images is now supported.

TJamPathLabel: The path is now resolved asynchronously to avoid potential delays in the main thread when setting its "Path" property to a slow or not reachable resource.

TJamFileList: When changing the view style of a non-sorted list, the order of items is now kept instead of resorting the list alphabetically by the paths of the items.

TJamFileList: It is now possible to insert an item at a chosen position by using the new parameter "pPos" in the "Add" method.

TJamExplorerBrowser: The new "OnNavigationPending" event is called before the control navigates to a new location. Use the "pCancel" parameter to suppress the navigation.

Breaking change: TShellBrowser.Next() now raises exceptions not only for internet errors, but for all errors, e. g. ERROR_PATH_NOT_FOUND. This allows for better error handling than returning "false"; it also distinguishes between no more objects (returns false) and error (raises exception).

Breaking change: The "OnBeforeShellCommand" event in TShellBrowser and most of the controls has a changed parameter list: The "Items" parameter has been changed to the type "TMultiObjects", which is a list of IItemIdLists.

Breaking change: The system type "_tagPropertyKey" that was part of the event handler signatures for "OnBeforeShellColumnChanged" and "OnAfterShellColumnChanged" has been replaced by "TShellColumnID". The types are compatible, but you might need to update the event handlers respectively.

Bugfix - TJamShellBreadCrumbBar: When navigation breadcrumbs use the keyboard, an empty dropdown menu might have popped up at the last breadcrumb item. This is no longer the case.

Bugfix - TJamShellBreadCrumbBar: The "AbsoluteItemIdList" or "Path" property now respects the range defined by "RootedAt"/"RootedAtFileSystemFolder". It is not possible to display a path that does not fall within this range.

Bugfix - TJamShellBreadCrumbbBar: The background color has been corrected for the Windows 7 classic theme.

Bugfix - TJamShellList: The "Filter" property now also works for the Windows special folder "SF_RECENT", that collects recently used files and folders as links. Please note: The filter applies to the destination files, not the links.

Bugfix - TJamShellList, TJamFileList, TJamDriveList, and TJamShellTree: The Windows "Explorer" theme can be deactivated by setting the "UseSystemStyles" property to false.

Bugfix - TJamShellList: The details for items in "Quick Access" are now loaded correctly on Windows 10 version 1607 (anniversary update).

Bugfix - TJamShellList: The list is resorted once a notification of a file change is received. For example, the order of elements is adjusted if the list is sorted by modification date and the respective value of a file changes.

Bugfix - TJamFileList: The "InvokeCommandOnSelected" method works again as expected with the shell action "default". Also "OnBeforeShellCommand" is called as expected.

Bugfix - TJamFilePreview: The preview of TrueType fonts has been corrected.

Several minor bugfixes and improvements have been incorporated.

V10.3.1 Released on 13 December 2016

TJamPathEdit: When the "FolderMode" is activated, the autosuggest/autocomplete feature that assists users when typing paths is restricted to folders and doesn't suggest files anymore.

Setup: Custom configurations of the BDSCOMMONDIR variable are now respected when installing ShellBrowser.

On Windows 8 and later, the ShellBrowser Components will now gather and present a default context menu if the context menu is to be displayed for many items (> 200). This fixes a major delay that could occur before the context menu was displayed.

TJamShellBreadCrumbBar: The "StyleElements" property is now supported.

TJamSystemShellView, TJamExplorerBrowser: Selecting items programmatically no longer automatically scrolls the selected item into view. This can be accomplished separately by calling "EnsureVisible".

TJamShellList, TJamFileList: When editing a filename, only the name of the file is selected, not the extension.

TJamFilePreview: The automatic fallback that was applied if PDF files could not be previewed using the registered preview handler has been removed. It caused a non-controllable error message for corrupt PDF files.

TJamFilePreview: The "Caption" property is now available as public property. Although still used by the component itself to display the state of the component, it can now be set in an attached "OnLoadedPreview" event handler to display a custom message. The "Touch" property is now available in the object inspector of the IDE.

TJamDropFiles: The "KeyState" parameter of the drag-and-drop events of TJamDropFiles now includes information about the mouse button that was pressed.

Bugfix - TJamShellTree: An access violation that might have occurred when setting the "RootedAtFileSystemFolder" property at design time has been fixed.

Bugfix - TJamFilePreview: Adobe Acrobat's preview handler doesn't work correctly when called asynchronously - previewed files could not be deleted or weren't displayed correctly. ShellBrowser will load the files in the main thread again. A delay that might have occurred when releasing the component has been fixed.

Bugfix - TJamShellList: A set filter is no longer applied to the contents of the "Favorites" folder in Windows 7 and 8.

Bugfix - TJamFileList: Column "Rating" is now filled correctly for all items in the list.

Bugfix - TJamFileList: The "EShellBrowserError" that was raised if an item representing a non-existent path was selected has been fixed.

Bugfix - TJamExplorerBrowser: A high DPI scaling issue concerning the size of the internal BreadcrumbBar has been fixed.

Bugfix - TJamShellHistoryPane, TJamExplorerBrowser, TJamShellBreadcrumbBar: An access violation that might have occurred when using one of these components in a library has been fixed. It was caused by the missing initialization of gdi+ under these circumstances.

Bugfix - TJamShellBreadcrumbBar: A "Resource is in use" error that occurred when selecting an item in trimmed state (i.e. some items have been collapsed to "<

Bugfix - TJamShellBreadcrumbBar: Several minor painting and scaling issues have been fixed. A memory leak occurring on Windows 7 has also been fixed.

Bugfix - TJamSystemShellView: An internal message displayed when the "CreateDir" method was called with a name for the new directory is no longer shown.

Bugfix - TJamDropFiles: Dropping files from TotalCommander and possibly other drag and drop sources stopped working with v10.3. This has been fixed again.

Several minor fixes and improvements have been incorporated.

V10.3 Released on 21 September 2016

The new component TJamShellSearchEdit contains the search edit field of Windows Explorer. It supports a "ShellLink" and can be connected to the TJamShellList, TJamSystemShellList or TJamExplorerBrowser to define the scope and present the result of the search. For TJamExplorerBrowser and TJamShellBreadCrumbBar, it can be activated in the "VisiblePanes" property.

The new component TJamShellHistoryPane tracks the history of components connected via ShellLink. It automatically adjusts to mirror the look of the various Windows versions.

TJamShellList, TJamDriveList, TJamFileList: The context menu of the header in ViewStyle "vsReport" now contains a "More..." menu item displaying a dialog where the user can select available columns, as known from the Windows Explorer.

TJamShellTree, TJamShellList, TJamDriveList, TJamFileList: If "OleDragDrop" is enabled, the new "OnBeforeShellDrag" can be used to inspect or change the IDataObject that is passed in the drag-and-drop operation. Setting it to nil will suppress the drag-and-drop operation.

TJamDropFiles now also supports non-file-system objects like emails or email attachments. If the "UseTemporaryFiles" property is set, the objects are stored as temporary files that are automatically deleted when the control is released.

The TJamShellLink component can now be used to connect a FileList with e.g. a TJamFilePreview or a TJamThumbnail, so that the file selected in the FileList is automatically displayed in the connected control.

TJamShellFilePreview: The loading and unloading of the preview is now done asynchronously. Additionally, a small memory leak that occurred for a subset of PreviewHandlers from the system has been be fixed.

TJamShellBreadCrumbBar:

Users can now include a TJamShellSearchEdit and/or a TJamShellHistoryPane via the new "VisiblePanes" property.

The new "RootedAt" and "RootedAtFileSystemFolder" properties can be used to customize the root of the control.

Keyboard navigation in the BreadCrumbBar is now fully functional.

Painting of the control has been improved and fixed on the various Windows versions.

The exception that occurred when trying to use more than one BreadcrumbBar in a project has been fixed.

TJamShellTree, TJamShellBreadcrumbBar: The "OnResize" event has been published, so it is available in the Object Inspector of the IDE. The ShellTree also provides the "RowSelect" property.

TJamShellList, TJamFileList:

If the "OnThumbnailUpdated" eventhandler already assigns a custom thumbnail to an item, no additional background querying of the system's thumbnail takes place.

Breaking change: Thumbnails that are replaced in this event handler are now released automatically.

TJamShellList, TJamFileList: The "Groups" and "GroupView" properties are now available. They can be used to add custom grouping of the lists' contents.

TJamShellList: Some actions that might block the application (e.g. displaying information for unconnected net drives) are now executed asynchronously.

TJamShellTree: There is now more space between the checkbox and a treenode's icon.

TJamPathLabel: Users can add a checkbox to the component with the new "ShowCheckBox" property. It comes with the additional property "Checked" and the event "OnCheckStateChanged".

The C++ sample project in Samples\C++ Builder\Explorer has been merged and is now included in Samples\JamExplorer sharing the main.dfm with its Delphi counterpart.

TJamShellList, TJamFileList, TJamDriveList: When checkboxes are displayed, pressing the space key now toggles the checkstate of all selected items instead of the first item only.

Bugfix - TJamFolderCombo: The handling of a large number of shell change notifications has been improved.

Bugfix - TJamShellTree: The processing of rename change notifications has been corrected. Under some circumstances, renaming led to duplicated nodes in the tree.

Bugfix - TJamShellTree: When selecting nodes using the keyboard, connected controls were only updated with a slight delay. This can be avoided now by setting the "ChangeDelay" property to 0.

Several minor fixes and improvements have been incorporated.

V10.2 Released on 11 May 2016

Support for RAD Studio 10.1 Berlin has been added.

TJamShellBreadcrumbBar: the new "FileSystemOnly" property allows to display only elements that have a file system path.

TJamShellBreadcrumbBar: The popup menus that are used to display the subfolders of an item in the BreadcrumbBar are now scrollable.

TJamSystemShellView, TJamExplorerBrowser: By using the property "OleDragDrop", users can turn off the possibility to drag files into the control.

TJamSystemShellView, TJamExplorerBrowser: The new properties "PopupMenu" and "BackgroundPopupMenu" can be used to assign custom context menus to items and to the background of the component respectively.

TJamExplorerBrowser: On Windows 10 the forward and backward buttons now look like in Windows Explorer.

TJamExplorerBrowser: The new "InvokeCommand" is a focus-dependent version of "InvokeCommandOnSelected"/"InvokeCommandOnFolder". If the focus is on the navigation tree, the command is applied there. If not, it refers to the selected element of the list part of the control.

TJamShellTree: The "OnCreateNodeClass" event is now published and visible in the object inspector.

TJamShellTreeNode: The "TextStyle" property allows to set a tree node in bold or italic.

TJamDriveList: when adding elements via the "AddEditable" method it's not possible anymore to add more than one editable item at the same time.

TJamPathEdit: On Vista and later Windows versions TJamPathEdit now uses the new dialog to select a file when the respective dialog button in the component is clicked.

TJamDriveList: The new "OnListItemAction" event notifies whether the path to be displayed has been resolved successfully or unsuccessfully. If the "CheckIfExists" property is set, invalid list items are removed automatically.

The "EShellBrowserError" that is used to indicate errors inside ShellBrowser components now inherits from EOSError.

TJamItemIdList: The WindowsPointer is now resolved lazily. This means that the existence of a path or the validity of an ItemIdList is not checked when the ItemIdList is created but only when it is required (e.g. when calling TJamItemIdList.IsInvalid).

Bugfix - TJamShellTree: The special folder "Documents" was sometimes added a second time beneath "This PC" on Windows 10. This has been resolved.

Bugfix - TJamShellBreadCrumbbar: Several painting issues have been fixed. The drop-down menu of "This PC" is now sorted like in Windows Explorer.

Bugfix - TJamDriveList: An EInvalidOperationException that occurred when double-clicking a non-existing path in the DriveList is now suppressed.

Bugfix - TJamShellTree, TJamDriveList: Checking elements wasn't possible via mouse input, when the ShellTree displayed a horizontal scrollbar on Windows Server 2008. This has been fixed. The click area of checkboxes in the DriveList has been readjusted.

Added property Columns which makes it possible to add, remove, rename, sort and change the width of columns in the view style "details".

Option to create a TStringList of only visible or all available column captions in the current folder.

Added property ColumnHeader to influence the visibility of the column headers.

Implemented CheckSelect feature:

Added property AutoCheckSelect to display checkboxes for each item.

Option to manually check or uncheck items.

Option to list checked items.

Added property EmptyText to show a user-defined text when view is empty.

Implemented grouping feature:

Group items according to different attributes.

Added "MoveBack()" and "MoveForward()" methods to navigate the history of visited folders. Navigation by additional mouse thumb keys is also supported.

Added new events:

OnNavigationImpossible: Occurs when e.g. a corrupted library should be opened.

OnNavigationCompleted: Occurs when a path was successfully opened.

OnSelectionChanged: Occurs when the selection of items has changed.

OnDefaultAction: Occurs when the user performs a double click or hits the enter key.

Added property IconDimensions to let the view show icons in specific pixel dimensions. This property replaces the "IconSize" property, that is still available but not visible in object inspector anymore.

The performance of the "SmartRefresh()" method has been improved.

Implemented IDE property value editor for property Path. Users can now select a new path using a "browse for folder" dialog.

It is now possible to set a new installation directory during setup. Users can now keep different versions of ShellBrowser.

TJamShellList, TJamShellTree: The "OnShellDragOver" event can now be used to support drag-and-drop for items that aren't supported by the shell. You can now implement custom behavior for certain actions, e.g. if a PDF file is dropped on another PDF file. See http://www.jam-software.com/shellbrowser_delphi/online_manual/EN/TJamShellList_OnShellDragOver.html for an example.
Please note that this might be a breaking change of your existing functionality. Changing the CopyMode parameter to a different value than cmNone will treat and visualize items as valid drop targets. See http://www.jam-software.com/shellbrowser_delphi/online_manual/EN/TJamShellList_OnShellDragOver.html for details.

TJamShellList, TJamShellTree: Elements in the "Control Panel" item are now handled like files and are opened externally instead of navigating them internally.

TJamShellList, TJamFileList, TJamDriveList: The "OnCreateItemClass" event is now published and visible in the object inspector.

TJamSystemshellView: The "IconSize" property has been replaced by a new "IconDimensions" property that enables users to specify the size of icons in pixels. Setting the deprecated "IconSize" property will automatically map to the new property. However querying the IconSize is not possible anymore, so this might be a breaking change.

TJamShellBreadCrumbBar: The component will refresh itself automatically with the new "AutomaticRefresh" property when a displayed folder is deleted or renamed.

TJamShellTree: The performance of expanding folders containing a large amount of subfolders has been improved.

Bugfix: A potential Access Violation occurring on unloading the ShellBrowser components has been fixed.

Bugfix - TJamFilePreview: Setting the "Path" property at designtime now works as expected. Assigning a new parent of the TJamFilePreview at runtime will keep the currently previewed file. Repainting issues especially concerning MSG files have been fixed.

Bugfix - TJamShellList: Copying and pasting files using the context menu now works correctly (also via RDP). It is no longer possible to move the "Name" column from the first position

Bugfix - TJamThumbnailImage: A cropping issue depending on the size of the component has been fixed.

Several minor fixes and improvements have been incorporated.

V10.0 Released on 30 September 2015

Support for RAD Studio 10 Seattle has been added.

The compatibility with Windows 10 has been improved.

The support for Delphi 7 to XE2 has been dropped in V10. V9 will be maintained in the future and still support Delphi 7 to XE2. However, no new features will be added, only bugfixes will be included in V9.

A set of standard actions enabling users to perform shell operations to our controls or to show dialogs without writing code has been added.

Drag & drop improvements: For TJamShellList and TJamShellTree an event OnShellDragOver has been aded
and the value set in the property CopyMode is now visualized in the drag cursor.

A few minor issues with column handling in TJamShellList and TJamFileList have been fixed.

TJamPathLabel now shows the corresponding icon left of the path as well as the Explorer context menu when right-clicking.
These new features can be turned off using the new properties ShowIcon and ShellContextMenu.

When the window handle of the TJamShellTree is being recreated multiple roots are now added again automatically.
This applies if the property MultipleRoots was set to mrMultipleRoots.

The packages for RAD Studio XE3 and XE4 have been split into designtime and runtime package,
as this was the case already for XE5 and later.
This is a breaking change if you have deployed ShellBrowser as runtime package or use packages that have a dependency on the ShellBrower package.

The AutoAdjustColumnWidths method that can be used for the TJamShellList and TJamFileList to automatically adjust column widths is now also applied in ViewStyle vsList.

V9.3.3 Released on 21 July 2015

Bugfix - TJamShellList: When deleting items to the recycle bin certain file types were re-added to the list. This issue has been fixed.

Bugfix - TJamShellList: Inserting items could cause an Access Violation if the "AutoSize" property of the ShellList was set. This is no longer the case.

Bugfix - TJamSystemShellView: Setting the "ShellContextMenu" property to false had no effect. Now the display of the shell context menu will be suppressed when the right mouse key or the context menu key is pressed.

Bugfix - TJamFilePreview: Display problems occuring when the currently displayed file was deleted have been fixed.

V9.3.2 Released on 3 July 2015

Bugfix - TJamFilePreview: Display problems for some file types that were introduced in v9.3.1 have been fixed.

Bugfix - TJamShellBreadCrumbbar: Under certain circumstances (Delphi version below XE2, runtime themes enabled) the seperator of the BreadCrumbBar was displayed as an arrow pointing downwards. This has been fixed by using the default breadcrumb style in these cases.

Bugfix - TJamShellChangeNotifier: The "Recursive" property is now kept and applied when set at designtime.

Bugfix - TJamShellList: The painting of thumbnails of very small images has been fixed.

V9.3.1 Released on 23 June 2015

TJamFileList: The captions of items are set only when the items are displayed. This improves the performance when adding many items to the list.

TJamShellList, TJamFileList, and TJamDriveList: The "DefaultColumnWidth" property was added. It allows to set the column width that is applied when the "ViewStyle" property is set to vsList.

Bugfix - General: A possible error occurring unpredictably in a system library called by method "GetIdListFromPath" is now prevented.

Bugfix - TJamShellTree: It is again possible to set the "SelectedFolder" property in designer.

Bugfix - TJamFileList: The current SortColumn that is applied in ViewStyle vsReport is not lost after changing the ViewStyle to something different.

Bugfix - TJamShellList, TJamFileList: When setting the "ViewStyle" property to vsIcon while the "Thumbnails" property is true, now correct icons are displayed again.

Bugfix - TJamShellList: The stored sort order for a special folder in details view is now restored correctly when re-opening the folder after having displayed a different folder in a different viewstyle.

Bugfix - TJamShellList: The "OnOperation" event is now called, when messages are copied from Outlook to a folder using copy-and-paste.

Bugfix - TJamShellList: If the folder that is currently listed is renamed, the list automatically displays the renamed folder.

Bugfix - TJamFilePreview: MSG files are now displayed correctly when a VCL theme is activated.

Bugfix - TJamFolderCombo: The auto suggestion while typing a path now only suggests file system paths but omits the virtual namespace.

Bugfix - TJamShellBreadCrumbBar: The "Color" property is now supported.

Bugfix - TJamShellBreadCrumbBar, TJamShellCombo: Both components now scale correctly at dpi scalings other than 100%.

Bugfix - TJamShellTree: If a displayed folder or file is renamed the concerned subtree is resorted. Recently created folders are also displayed at the correct alphabetical position.

Bugfix - TJamShellTree: The "AutomaticRefresh" property now works for multiple roots, not only for the root that was added last.

TJamSystemShellView: 2 new methods were added. "DeselectAll()" will clear the selection. "DeselectItem(Index: integer)" will deselect the item with the given index.

Bugfix - TJamSystemShellView: If "One-Click" opening of elements was activated in Windows Explorer, the SystemShellView did not consider the clicking position when opening files or folders with a single click. This has been corrected.

Bugfix - TJamSystemShellView: Expanding the selection of files that had been added by drag-and-drop by pressing Shift+Up/Down was not working as expected, the selection not starting with the pasted files but the former selection. A bugfix to correct this behavior has been integrated.

Several minor fixes and improvements have been incorporated.

V9.3.0 Released on 29 April 2015

ShellBrowser Delphi now supports RAD Studio/Delphi XE8.

TJamShellList, TJamFileList, TJamDriveList, and TJamShellTree: The "Touch" property hs been made available for Delphi XE2 and higher to support touch gestures on Windows 8.

TJamShellList, TJamFileList, TJamDriveList, TJamShellTree, and TJamShellCombo: The inherited "StyleElements" property is now available.

TJamShellTree, TJamShellList: By turning off the new "ShowShellNames" property, potentially localized folder and object names will be replaced by file system names.

TJamSystemShellView: The ViewStyle "vmTile" can be configured with the new "ExtendedTiles" property.

TJamShellList: A short delay has been added before the ShellList informs controls linked with a TShellLink on the selection change. This solves the problem that the DoubleClick event for the ShellList was not recognized if a TJamFilePreview was linked and interpreted as two single clicks instead.

TJamShellList: If the "AutomaticRefresh" property is true, the ShellList will now also reflect folder changes. In preceding versions only file changes triggered the reloading of the column contents.

TJamShellList: The "CheckBoxes" property is now supported without the need to assign a ShellLink.

TJamShellList: The captions of items are set only when when the items are displayed. This improves the performance of loading folders containing a huge amount of items.

TJamShellTree: It is now possible to set the checkstate to ssDisabled in the "OnAddFolder" event. In the previous version the value was redetermined later.

Bugfix - TJamItemIdList: The implementation of the "IsFolder" method is now returning false for e.g. Office documents and PDF files.

Bugfix - TJamDriveList: A painting issue with AutoSize column has been fixed.

Bugfix - TJamFilePreview: Deleting the file that is currently displayed in a TJamFilePreview component will refresh the component instead of raising an exception.

Bugfix - TJamFolderCombo: Network drives that map to a folder are now included if the "IncludeDrives" property is activated.

Bugfix - TJamPathEdit: The background of the "Browse for Folder" button is now transparent.

Bugfix - TJamShellCombo: The "Color" property now works as expected.

Bugfix - TJamShellList: The attribute "I" (= not content indexed) is now displayed in the "Attributes" column.

Bugfix - TJamShellList: Enabling checkboxes at designtime works as expected at runtime again.

Bugfix - TJamShellList: Pressing "Enter" for the current selection now calls the "OnBeforeShellCommand" once for every file in the selection.

Bugfix - TJamShellList: If the "AutomaticRefresh" property is true, the "Filter" property is now respected when receiving and applying shell notifications of file creations or modifications. Likewise the "OnAddItem" is called whenever a file is added or modified. This ensures that all filtering options are re-evaluated when a file changes.

Bugfix - TJamShellTree: Checkboxes are now painted correctly when using Delphi themes.

Bugfix - TJamShellTree: An access violation has been fixed that occurred when accessing the "FullPath" property while custom drawing ShellTree nodes on Windows XP.

Bugfix - TJamShellTree: When files were shown in the ShellTree, "Control Panel" sometimes appeared several times. This has been fixed.

Bugfix - TJamSystemShellView: The context menu of the "Recycle Bin" has been corrected: "Restore" and "Properties" now work as expected. However, as a side effect of this bugfix the Recycle Bin's context menu is missing a default entry now. The "Open with" context menu item now works as expected.

Bugfix - TJamSystemShellView: The "ViewStyle" property can now be set in "OnBeforeFullRefresh" without an exception occurring.

Bugfix - TJamDisconnectDialog: The "OnClose" event is now raised when the dialog is closed on all Windows versions.

Bugfix - Fixed C++ Builder installation issues.

Several minor fixes and improvements have been incorporated.

V9.2.0 Released on 7 October 2014

ShellBrowser Delphi supports RAD Studio/Delphi XE7.

TJamShellList: The network folder is now filled asynchronously.

TJamSystemShellView: The new property "IconSize" has been added. It facilitates the configuration of the displayed size of icons from small to extra large independently of the "ViewStyle" property.

TJamShellBreadCrumbBar, TJamShellCombo: Special folder names like "My PC", "Downloads" etc. are now recognized as input and are subject to auto-completion.

TJamShellList, TJamFileList: When editing a file name only the file name is selected, not the extension.

Bugfix - TJamShellBreadCrumbBar: The correct folder icons in the dropdown list are now fetched asynchronously.

Bugfix - TJamShellBreadCrumbBar: The component showed a wrong path in edit mode when a BreadCrumbItem had just been expanded. This has been fixed.

Bugfix - TJamBrowseForFolder: If the "Options" property contains "bfBrowseIncludeFiles", the small folder selection dialog will be shown, since the other one cannot show folders and files at the same time.

Bugfix - TJamSystemShellView: Using context menu commands or invoking them via keyboard on one or more selected elements does not change the current folder of the control anymore.

Bugfix - TJamShellTree: Renaming a drive will now work as expected, even if the drive is set as root node of the tree.

Bugfix - TJamShellTree: Performance issues occuring when the value of the "MultipleRoots" property was changed at runtime have been resolved.

Bugfix - TJamShellList: When a zip archive is opened and the sort column of the previously displayed folder is not available, the zip archive will now be sorted by name.

Bugfix - TJamDriveList: The current sort order is now maintained after reloading instead of resorting by name.

Some minor fixes and improvements have been incorporated.

V9.1.1 Released on 15 July 2014

TJamShellList, TJamFileList: Custom columns do not need to be placed at the end anymore. Using the "Index" property you can insert them anywhere after the first column.

TJamShellListList, TJamFileList: Custom columns are now included in the header context menu, so it is possible to hide and redisplay them.

TJamShellTree: Selecting a link to a folder now opens the link destination in a connected TJamShellList component.

TJamShellBreadCrumbBar: The dropdown list of the control now contains the same entries as the Windows Explorer (i.e. paths that have been typed before).
We also provided the possibility to add custom locations to this list by using the method TJamShellBreadCrumbBar.SetCustomDropDownList.

TJamShellBreadCrumbBar: Environment variables can now be entered into the component, they are resolved correctly.

Bugfix - General: A bug that made context menu operations stop working asynchronously was fixed.

Bugfix - TJamShellList, TJamFileList: SubItems are accessible again, when the "OnAddItem" event is implemented and the list is in report view.

Bugfix - TJamSystemShellView: Double-clicking a link to a folder in "Recent Places" will now open the linked folder.

Bugfix - TJamSystemShellView: The property "Caption" of a TJamSystemShellItem in the OnAddItem event handler was empty or wrong for drive and recycle bin items. This has been fixed.

Bugfix - TJamShellList: A file that is added per drag and drop is now automatically selected in the list.

Bugfix - TJamShellList: When changing the view the selection is retained.

Bugfix - TJamShellList: The current widths of columns is stored and reapplied when changing the view and resetting it to report.

Bugfix - TJamShellTree: The property "SpecialFolder" is now correctly applied at runtime.

Bugfix - TJamShellTree: Expanding the network node is now working as expected when the property "MultipleRoots" is set to "mrAuto".

Bugfix - TJamShellTree: Opening the desktop in the "Favorites" node now opens the desktop folder in a connected control like TJamShellList.

Bugfix - TJamShellTree: Filtering now works correctly on renamed files.

Bugfix - ShellBrowser: A problem with icon transparency in the context menu has been fixed.

Bugfix - TJamShellBreadCrumbBar: Leaving the BreadCrumbbar by e.g. clicking on the Window title will now end the mode that opens subfolder menus automatically by only moving the mouse over an item.

Several minor fixes and improvements have been incorporated.

V9.1 Released on 09 May 2014

Support for RAD Studio/Delphi XE6 has been added.

TJamPathEdit: A new property "ShowImage" has been added. It controls whether the "..." button displays a folder icon instead of dots.

Breaking Change - TJamShellTree: When using the property "MultipleRoots" you can now easily configure the TJamShellTree to include root nodes for "Favorites", "Network" and "Libraries".
"MultipleRoots" is now a tristate property - "mrSingleRoot" will only display one root for the tree. With the new value "mrAuto" TJamShellTree automatically applies Windows Explorer settings.
Using "mrMultipleRoots" you can freely determine the root nodes via code.

TJamShellTree: The network folder is now enumerated in the background. Blocking delays that occurred when accessing network paths have been eliminated.

FJamFilePreview: Registered PreviewHandlers are now loaded "out of process". This avoids problems regarding bitness inconsistencies between the system, the PreviewHandler and the application hosting the preview
(this prevents failures in previewing PDF files with Adobe Acrobat PreviewHandler on Windows 8/64bit in x64 applications).

Bugfix - TJamSystemShellView: Opening an item under "Saved Searches" now opens the saved search, instead of bringing up "Pathname not valid".

Bugfix - TJamShellBreadCrumbBar: The initial height is now calculated correctly.

Bugfix: An application running with elevated rights (behind the UAC) in some cases opened the CD/DVD tray if no media was present in the drive.

SF_UNKNOWN has been added to the TJamShellFolder enumeration, it is no longer an alias for SF_FILESYSTEMFOLDER. It is returned in case a folder is not a known special folder and does not have a file system path.

Bugfix - JamShellTree: Drive nodes do not disappear anymore on Windows 8.1 when drives are added/removed at runtime (e.g. by attaching a USB stick)

Bugfix - JamThumbnailImage: The "Path" property keeps track of the displayed file if the component is synchronized via a ShellLink control.

Bugfix - ShellBrowser controls can now be added to a Win64-only platform project on Delphi XE5.

Bugfix - JamFilePreview: The preview of an image is now updated once the image file is changed in the background.

Bugfix - JamPathEdit: Setting the "Enabled" property to "false" will not discard the control's color anymore.

Bugfix - JamShellBreadCrumbBar: The items in the dropdown list of a breadcrumb item are now explicitly sorted.

A few minor fixes and improvements have been incorporated.

V9.0.2 Released on 23 Dec 2013

Bugfix - JamShellTree: This version fixes an issue concerning the setting of checkstates of nodes
in the ShellTree during initialization phase (designtime and runtime). The bug was introduced with V9.0.1 and resulted
in an AccessViolation when loading a ShellTree with activated checkboxes.

V9.0.1 Released on 19 Dec 2013

Added new Special folder SF_Links which represents the "Links" folder on Windows Vista and later.

Bugfix - JamFileList: The delete operation
can
no longer
be executed if the FileList is
"readonly"
.

Bugfix - JamShellTree: Faster synchronization of the checkstates of nodes.

TJamDriveList/TJamFileList/TJamShellList: A new property "ShowHeaderContextMenu"
to en-/disable the header contextmenu has been added.

TJamDriveList/TJamFileList/TJamShellList: A new event "OnAfterShellColumnChanged"
informs when columns have been added or hidden.

TJamShellList, TJamFileList, TJamDriveList, TJamShellTree: A new event "OnSort" is
triggered when sorting is started or ended, as indicated by the
parameter "sortStage" (ssBeforeSort, ssAfterSort).

TJamShellList: Custom columns that were added by calling "SetColumnVisibility"
are included in the header context menu, too

TJamPathEdit: The option to add a new folder via the dialog is now included in
the foldermode.

TJamDropFiles: Vista-style drag icons and hints are supported.

TShellControlHelper: class function "AssociateIconWithExtension" has been added
,
facilitating the creation of
the necessary registry entries to associate
a file icon to a file type.

TJamSystemShellView: the default viewstate is now "Auto"

C++ Builder 2006 is no longer supported.

Bugfix: Context menu operations do not block the UI thread anymore
(this behavior occurred in Windows Vista and later versions)

Bugfix: A painting problem concerning thumbnails of .JPG
files in TJamShellList has been fixed.

Bugfix: The TJamShellTree is now invalidated at the end of a realignment
process, avoiding the appearance of a black area.

Bugfix: Checking a node in TJamShellTree with more than 500 children
no
longer raises
an exception.

Bugfix: The new structure of node "MyPC" on Windows 8.1
provoked
an exception in TShellBrowser and TJamShellList.

A few minor improvements and fixes have been incorporated.

V8.1.3 Released on 21 Jun 2013

Support for RAD Studio/Delphi XE4 has been added.

JamShellList, JamShellTree, JamFileList, JamSystemShellView: Verb "copypath" is
now supported in InvokeCommandOnSelected(). If used, the path of the
currently selected item(s) is copied to the clipboard.

Bugfix - Problems concerning the transparency of components (especially in
Thumbnails view) using VCL styles have been fixed.

Bugfix - JamShellTree: The "OnCompare" event is now fired and can be used to
change the sorting.

Bugfix - JamShellList: The "OnOperation" event is now fired for deleting and
pasting files.

Bugfix - JamShellList: The "Del" key is working again when "AutomaticRefresh" is
true. This error occurred in Windows Vista and later versions.

Bugfix - JamSystemShellView: Column headers are only visible in Details view,
even if the ViewStyle is determined automatically.

JamFileList: Boolean property TJamSearchOptions.FilesOnly is marked obsolete and
is replaced by TJamSearchOptions.FilesAndFolders with the possible values
ffFilesOnly, ffFoldersOnly, ffFilesAndFolders.

Bugfix - TJamFileList: Fixed delay in lists with many items when hitting 'End'
key to jump to the end of a list.

Bugfix - TJamFileList: Fixed problem that occurred when deleting many files at
once.

Bugfix - TJamShellTree: Property 'NoFillOnStartup' now works.

Bugfix - TJamShellTree: A beep sound is no longer played when specific keys are
pressed (e.g. Ctrl+C).

Bugfix - TJamDriveList: The shell columns are correctly filled when a custom
column is added.

Bugfix - TJamBrowseForFolder: Fixed a bug where the path property couldn't
always be set when using Delphi < 2009.

Bugfix - TJamPathEdit: The hint will no longer be reset when the property 'Path' is
set.

Several minor improvements and fixes have been incorporated.

V8.1 Released on 18 Oct 2012

Official support for Delphi XE3 and Windows 8 has been added.

TJamShellList, TJamFileList, TJamDriveList: On Windows Vista and later the large drag icons and the feedback text is now shown when dragging items. This was formerly working only when these controls were the drop target and now works also if they are the drag source.

TJamShellList, TJamFileList: The handling when activating or deactivating columns has been improved.

TJamShellList, TJamFileList: Added event OnBeforeShellColumnChanged which is triggered before the visibility of a column changes and can be used to prevent the change.

TJamShellList, TJamFileList: Added a new public property ColumnOrder: Array of Integer, which returns the internal order of the shell columns.

TJamShellList: The event OnBeforeShellCommand now includes all paths if multiple items were selected.

TJamSystemShellView: Added view mode "Auto" in which the view mode is defined automatically by the content of the folder.

TJamSystemShellView: Extra large, small and large icons can be set now as view mode.

Added class TShellColumns that contains members for the important shell columns.

TJamShellLink: The methods FullRefresh() and SmartRefresh() have been merged to a single method Refresh() with a parameter for the refresh level (rfFull, rfSmart, rfCheckboxes). This allowed us to improve displaying and updating of checkboxes.

The help is now installed again as CHM-file instead of multiple HTML-files.

TJamShellList: Sorting in Libraries works for all columns now.

TJamShellTree: Setting RootedAtFileSystemFolders to a hidden folder works even if ShowHidden property is False.

Bugfix: TJamFileList: Renaming in FileList no longer leads to doubled file extension when file extensions are hidden by Windows.

V8.0 Released on 30 Sep 2011

Improvement: Support for Delphi XE2 and the 64Bit compiler
has been added.

Improvement:
Windows Shell ItemIdLists are now stored using
an interfaced object
that implements the new
IItemIdList interface.
We use the reference counting of TInterfacedObject to free the
memory of the wrapped ItemIdList. This allowed us to remove many
lines of code in which ItemIdLists have been copied. Furthermore the
path and the special folder (TJamShellFolder)
are cached along with
each ItemIdList. All this should lead to performance improvements.
This is more an internal change and the code of most of our customers
should not be affected by this change. In case you used the type
PItemIdList in your code, it should be sufficient to change it to
IItemIdList.

Improvement: The property IconSpacing has been added to
TJamShellList and
TJamFileList.
It allows
defining the spacing
between the icons
in pixels.

The help file is now generated based on the XML comments in
the source code and is HTML-based now.

Improvement: On Windows 7 the context menu operations
"delete" and "paste" are now again performed in background threads.
Windows 2000/XP did this automatically, unfortunately Microsoft
removed the asynchronous execution of shell context menu commands in
Windows 7.

Improvement - TJamShellList: If the ViewStyle
property is vsList, then sorting can now be triggered using the background
context menu.

TJamShellChangeNotifier: The event type neNetUnshare has been
merged into the event neNetShare, because it was effectively never
fired by Windows. The event type neNetShare occurs if a folder or
drive is being shared, or the sharing is being revoked.

The support for Delphi 6 and Windows 2000 has been removed.
V7 which is compatible with Delphi 6 and Windows 2000 will remain
available in our customer's area for registered users with valid
maintenance.

The include file VER.INC has been made obsolete, we instead use
conditional compiler statements like
{$if
CompilerVersion > 18}
.

A major code cleanup was performed and numerous minor fixes
and improvements have been incorporated.

V7.3.2 Released on 12 Jul 2011

Improvement: If the property ShellContextMenu of the TJamShellList is set to False, now also the background
context menu is not shown any more.

Improvement: When performing a right mouse button drag from a readonly source, the resulting drop menu does
no longer offer to move the file.

The property TJamFolderCombo.ItemIndex is no longer published but public now.

Bugfix: The method call TJamShellList.InvokeCommandOnSelected('default') showed an error if more than one
file was selected.

Bugfix: TJamShellCombo could raise an unhandled exception when it was visible while the Windows theme was
changed to "Windows classic" style.

V7.3.1 Released on 30 Jun 2011

Improvement: The method TJamShellList.SetColumnVisibility() now allows to turn on or off certain columns
using its ShColumnId.

Bugfix: Setting TJamFolderCombo.Editable to False now has the intended effect that no edit field is
available to the user.

Bugfix: Occasional "List index out of bounds" errors for the TJamDriveList have been resolved.

Bugfix: The context menu of the column header of the TJamShellList was shown at the wrong position
in some cases.

Bugfix: After the user removed columns using the context menu of the column header, sorting was not
always working correctly.

Bugfix: If the AutoSizeColumn property of the TJamShellList and TJamFileList was set to a value larger
than the actual column count, then a stack overflow occurred.

Bugfix: Setting the path property of TJamBrowseForFolder did not have any effect with bfNewDialogStyle
on Windows Vista and later.

Several minor fixes and improvements have been incorporated.

V7.3 Released on 14 Apr 2011

New Feature: TJamFileList and TJamShellList now include a context menu for the column headers that allows
turning on or off certain columns.

New Feature: TJamDriveList has the new properties "WarnLevelPercent" and "ErrorLevelPercent". They can be
used to change the color of the small bar chart which shows the free space in yellow or red, dependant on
the percentage of free space. The default values are 8 and 2 percent. Set these properies to 0 if you
do not want the color to be changed.

New Feature: The property "IconsBasedOnFileExtension" has been added to TJamShellList and TJamFileList.
If set to True, icons will be queried from the system based on the file extension only. This is usually
faster compared to using the full path. The most noticeable difference is for executable files, which will
no longer show the included icon but a standard icon.

New Feature: The method AutoAdjustColumnWidths() has been added to TJamShellList and TJamFileList. If
called, it adjusts the column width to an optimal value, just like the shortcut Ctrl + Num+ does in every
ListView.

New Feature: The menu item "Paste Shortcut" has been added to the background context menu of the TJamShellList,
just like it exists in the Windows Explorer. The chosen view type and sort column are now marked in the
background context menu of TJamShellList.

New Feature: The new property TJamFileList.AllowDropToBackground lets you decide if files can be added to
the list using drag and drop. The default value is True.

Improvement: The controls TJamShellCombo and TJamFolderCombo are now derived from TComboBoxEx instead of
TComboBox. Since TComboBoxEx supports images and indents, we were able to remove our code for custom-drawing
the items. The Windows XP Explorer also uses the Windows ComboBoxEx control for its address bar, that means
our TJamShellCombo now looks more like the original Explorer control.

Improvement: The type of the property BackgroundImage in TJamShellList and TJamFileList has been changed
from TBitmap to TPicture. That way other file types beside BMP are supported, e.g. JPG and PNG.

Improvement: We are now using Windows Vista style drag and drop cursors on Windows Vista and later.

Improvement: The event TJamSystemShellView.OnChanged has been added. It is triggered after a full refresh of
the list or when the state of an item (e.g. selection) in the list has changed.

New Feature: The standard Windows 7 libraries have been added to the set of special folders in TJamShellFolder.

Improvement: The new class procedure TShellBrowser.SetThumbnailProvider() allows setting a callback function
that is called for non-available thumbnails. This allows to support thumbnails for file formats for which
Windows does not have a thumbnail provider installed.

Improvement: The CreateDir() method of TJamShellList and TJamShellTree now also works in a Windows 7 library.

Improvement: The inherited event OnCanResize is now published for all controls in Delphi 2010 and higher.

Improvement: The TJamBrowserForFolder dialog now uses the Vista style browse dialog on Windows Vista and
higher and Delphi 2009 and higher.

Improvement: We are now using Windows API functions to deal with PItemIdLists instead of our own pointer
arithmetic.

Improvement: The horizontal and vertical alignment of the thumbnails has been improved.

Improvement: Some sample projects have been improved.

Improvement: If TJamShellTree.FileSystemOnly is set to True, ZIP files are not listed any more as folders.

Improvement: Added new event OnInvalidPath to TJamSelectionList which is triggered whenever an invalid path
is added to the list.

Bugfix: Adding an UNC path of non-reachable servers to the TJamDriveList no longer causes a delay (blocking)
of the application.

Bugfix: The "Return" key now executes the default action for all files if multiple files are selected.

Bugfix: In the TJamFileList the first drawn item was not initialized correctly in some cases, this resulted
in missing column details for the item.

Bugfix: An Access Violation could occur when setting TJamShellList.ViewStyle to the value vsReport if
ShowExtraLargeIcons was True.

Bugfix: TJamSystemShellView.ItemCount could be 0 in the OnPopulated event.

Bugfix: When the property TJamSystemShellView.Filter is set, then "My Computer" is no longer displayed
entirely empty.

V7.2.1: Released on 13 Oct 2010

The keyboard shortcut Alt+Up now goes up one level in TJamShellList and TJamSystemShellView, like in the Windows 7 Explorer.

The size of file in Windows 7 Libraries folders is now formatted in KB instead of Bytes.

Bugfix - TJamDriveList: fixed possible AV when using the OnAddItem event and having the property CheckIfExists set to True

Bugfix: The Windows Fonts folder was missing when the property FileSystemOnly was set to True.

Bugfix: A confirmation dialog, e.g. when deleting files, was sometimes not shown on top of the application.

A few minor fixes and improvements have been incorporated.

V7.2: Released on 23 Sep 2010

Added support for Delphi XE

The "New" submenu of the background context menu of the TJamShellList control is now filled like in the Windows Explorer,
including "New Shortcut" and all file types registered for this menu.

The JamShellList is now resorted if new items have been added due to an automatic update.

Added overloaded version of TShellBrowser.GetColumnText() that works with a SHCOLUMNID instead of a column index

Now caching ItemIdLists of special folders in a static array, this improves the performance of the frequently used function
TestForSpecialFolder().

The columns in Report mode are now filled correctly in Windows 7 Libraries folders

The TJamDriveList now shows network drives correctly in applications that have been started as administrator under Windows 7.
Formerly they sometimes had a red cross as overlay icon.

Bugfix: The event TJamShellList.OnPathChanged was not triggered if the ShellLink property was not assigned.

Bugfix: The paths supplied by the TJamShellList.OnBeforeShellCommand event sometimes were empty for keyboard triggered
operations.

Bugfix: TJamSystemShellView.Filter was not working.

Bugfix: In the TJamShellList the default "open" command was not working for files in ZIP archives.

V7.1.1: Released on 15 Jun 2010

Added workaround for a linker problem that could occur in C++ Builder 2009 and 2010.

Bugfix: Setting TJamSystemShellView.ViewStyle to another value than its default value in the Object Inspector at design
time produced an unhandled exception when running the application.

Bugfix: Double clicking on a file in a ZIP-file did not open the file.

A few minor tweaks have been incorporated.

V7.1: Released on 25 May 2010

Added property AutoSizeColumn to JamShellList and JamFileList which adjusts the defined column to fill the remaining
horizontal space so that no scrollbar appears.

Added property JamPathEdit.Color which is mapped to the aggregated TEdit.Color.

Delphi Edition: Added event JamShellCombo.OnAddFolder which is triggered whenever an item is added to the box.

Delphi Edition: Added property TJamComboItem.Path which contains the file system path of the item. It will be empty
for non file system objects.

Added property Paths to TFileList that returns a list of paths of all file system objects contained in the list.

ZIP files now open within the JamShellList if they are double clicked.

The values JamShellList.Path and TJamShellTree.SelectedFolder are no longer stored in the DFM file if the
SpecialFolder property has a value that is not SF_FILESYSTEMFOLDER. This ensures that special folder paths
are evaluated using Windows API functions.

The context menu of the JamFileList has been improved, especially on Windows 7, if more than one file is selected.

The column header of the JamDriveList now shows a context menu that allows to activate or deactivate columns.

If the shell context menu cannot be queried from the system and a context menu of the application was given for
merging (assigned to the PopupMenu property), then this popup menu is shown now.

Resorting has been improved after a folder in the JamShellList has been renamed.

Bugfix: The check state of items in the JamShellList could be returned incorrectly if the item was not yet visible
(not scrolled into view).

Bugfix: In Delphi 2009/2010 the TJamFileList lost its contents if the ViewStyle property was changed.

Bugfix: A potential memory leak has been fixed when dropping files to JamshellTree.

Bugfix: Dependent on other properties' values, the font color set at design time was not used at runtime.

Bugfix: If non file system objects are dropped from applications that supply the file name only as ANSI String,
then the file names are now also extracted correctly in Delphi 2009/2010.

Several minor improvements have been incorporated.

The support for C++ Builder 6 has been dropped.

V7.0.4: Released on 21 Jan 2010

The JamFileList and JamShellList now toggle the checkboxes of all selected items if the space bar is hit
or the checkbox of one selected item is clicked.

If a file was dropped from Outlook, the file name is now supplied in the OnOperation event.

Now catching EExternal exceptions when the Explorer context menu is displayed.

The default value of JamSearchOptions.UseFullPathWhenComparing is now False

Improved paint position of thumbnail in JamThumbnailImage control.

The path that is suggested by the installer as default has been changed

ActiveX Edition: If threads were still active, the termination of the application hosting ShellBrowser ActiveX
controls could take several seconds. This has been improved.

V7.0.3: Released on 23 Nov 2009

Now preventing a floppy seek noise that occurred in previous releases of V7 if "My Computer" has been enumerated
on a Windows Vista or Windows 7 system.

Delphi Edition: Now triggering the OnContextPopup event before showing the Shell context menu.

Renamed TJamSelectionState.ssNone to ssDisabled, because this name fits better and solves a name collision with
TScrollStyle.ssNone

Bugfix (ActiveX / Delphi 2009 / Delphi 2010): If JamShellList.ViewStyle has been changed while a virtual folder
was displayed (e.g. a subfolder in a ZIP file or the new libraries of Windows 7) the displayed folder was resetted to "My Computer".

Bugfix: For files that no longer existed the JamFileList showed the full path also in the second column.

Several minor improvements and a few minor bug fixes have been incorporated.

V7.0.2: Released on 16 Oct 2009

JamFileList: If the Details property is turned off, the first column now shows the full path of the file.

The property Gridlines is now published for JamShellList and JamFileList control.

Bugfix: The setting of the UseSystemStyle property was not always applied correctly, dependent on the order
in which the other properties were assigned.

Bugfix - JamShellList: Switching from vsIcon to vsReport view style produced an empty view due to missing columns.

Bugfix: Under Windows Vista and Windows 7 items could disappear from the JamShelList when SmartRefresh() was called
if it was in vsReport mode but not sorted by the first column.

Bugfix: Occasionally the selected icon in the JamShellTree was not set correctly.

Bugfix: The JamFileList now supports again dragging of multiple files correctly.

A few minor improvements and fixes have been incorporated.

V7.0.1: Released on 15 Sep 2009

Bugfix: It could have happened that the new default background context menu was executed although it was not
assigned.

Several minor improvements and a few minor bug fixes have been incorporated.

V7.0: Released on 10 Sep 2009

Since there are now with Delphi 2010 two Unicode enabled Delphi versions available, we decided to remove the dependency
on the TMS Unicode controls from V7 of the ShellBrowser components. We received many requests from customers who didn't want to use TMS Unicode but were forced to do so because of this dependency. We also removed the support for Windows 9x from V7 of the ShellBrowser components. These changes will make the code much easier to maintain and to test and last but not least faster and smaller. For those who still want Unicode support in older Delphi versions or still want to support Windows 9x: ShellBrowser V6 will stay available for existing customers in our customer's area and critical bugs will still be fixed.

Added new properties ShowExtraLargeIcons and ShowJumboIcons to the JamShellList and JamFileList, which allows the user
to switch the size of the icons in ViewStyle vsIcon. Jumbo Icons are only available under Windows Vista and later.

Added new property Checked to the JamShellListItem, JamShellTreeNode and JamFileListItem, which makes it easier to check
an item or a node, it will than also be added to the JamShellLink.JamSelectionList.

The JamShellCombo now evaluates environment variables like %TEMP% entered in their address bar, similar to the Windows
Explorer.

Added a background context menu to the JamShellList. This will be displayed if no background context menu is assigned
to the BackgroundPopupMenu property of the JamShellList. It implements a subset of the Windows Explorer context menu.

The performance when listing the recycle bin in the JamShellList has been improved.

Bugfix: The OnMouseEnter and OnMouseLeave events will now be fired correctly in the ActiveX version.

Bugfix: If the JamSelectionList has been cleared, it could happen that the checkboxes in a JamShellTree have not been
entirely reset.

Several minor improvements and a few minor bug fixes have been incorporated.