ShellBrowser Components logo

ShellBrowserComponents Delphi Editionv8.0

Native VCL Explorer Shell Controls for Delphi

Sample Projects

Five sample projects are coming with the ShellBrowser component suite: Easy.dpr, GettingStarted.dpr, JAMSearch.dpr, JAMDragDrop.dpr and JAMExplorer.dpr.

You can download these sample applications in executable form here:


Sample Project: Getting Started

DelphiShellBrowser Here's a first example on how to use the ShellBrowser components. We placed a JamShellTree on the left and a JamShellList to the right. These two components have set their property 'Shelllink' to the same instance of a JamShellLink. This invisible component acts as a mediator between the different components and synchronizes them. We then enhanced the form with a check box that enables or disables the 'Checkboxes' property of the components and two buttons to move forward or backward.


DelphiShellBrowser We use a JamShellCombo to mimic the dropdown menu of the Windows Explorer. You can type into the combobox and use the auto completion just as you would do in the Windows Explorer. Again, a JamShellLink mediates events between different components. This time we placed a JamThumbnailImage component on the right that can display all documents known to the Windows operating system as a preview. The 'SpecialFolder' property of the JamShellList has been set to 'MyPictures', one of the available default locations.


DelphiShellBrowser The JamSystemShellView embeds the native Windows Explorer control. With this you have exactly the same display as the Windows Explorer with whatever Windows version the software is running on. The JamSystemShellView has some advantages compared to the JamShellList - while the former provides the original background- context menu of the Explorer, the JamShellList provides greater flexibility in some other aspects - e.g. it provides checkbox functionality that is used in the example of the first tab.


DelphiShellBrowser The JamShellChangeNotifier component notifies if changes occur on the filesystem. Add folders from the upper JamShellList to the JamFileList below by dragging them with the mouse. The collection of items specifies where the JamShellChangeNotifier should listen for file or folder events. If the list is empty, the component notifies changes of the whole file system. On the left you can choose on what events the component should create a change event. In our example, we fill a textbox with relevant information. It is bound to the 'Change' event of the component.


DelphiShellBrowser The JamDriveList component lists the configured drive letters and available space.




Sample Project: JAMExplorer

DelphiShellBrowser JAMExplorer is a project which shows how to build an Explorer like application using the visual shell controls of the ShellBrowser component suite. On the left pane, you have the typical TreeView, on the right pane the contents of the current folder is displayed. In the toolbar you find some of the typical explorer buttons like delete, properties, small/large icons. For every item, the context menu is displayed when the user right clicks on it, the items can be renamed and Drag&Drop operations are supported. The only code written for this sample project were the handlers for the SpeedButtons in the toolbar of the window (usually one line for each button).




Sample Project: JAMSearch

TShellBrowser JAMSearch is a project that simulates the Windows file search. The user has the possibility to search after certain file dates or file sizes and if subfolders should be included in the search or not.




Sample Project: Easy

Thumbnail Easy is an introductory project, which shows how to display the context menu or the properties pages for a single object using the invisible component TShellBrowser. The code look like this:

ShellBrowser.ObjectName := Edit.Text; ShellBrowser.ShowContextMenu (ClientToScreen(Point(40,60)), nil);

Additionally it shows how to call the BrowseForFolder dialog of Windows 9x/NT using the TShellBrowser component.




Sample Project: JAMDragDrop

TShellBrowser JAMDragDrop is a project that shows the handling of the TJamDropFiles component and the possibilities the user has. It logs where the user enters and drops the file(s) on the component.