A JamShellList control looks and behaves like the right pane of the Windows Explorer.

This control displays the contents of a folder in a listview. When the user right clicks on a folder, it will automatically show the context menu. TJamShellList is derived from Delphi's TListView control, so you can use most of the properties and methods of the superclass with a TJamShellList.
Use the Path property to get or set the current Folder, use the SpecialFolder property to set a special folder like the Control Panel. The Filter property can be used to filter certain files by extension. The FullRefresh method refreshes the displayed information. This control does not have a Font property, because it automatically uses the same font the Windows Explorer uses. Use the Popup property to merge your Delphi popup menus with the Shell Context menu. You can synchronize a TJamShellList with a TJamShellTree by using the ShellLink property.
By default, a double click is handled by the component and it tries to perform the default action for the selected object. You can however use the OnDblClick event handler of the component to perform your own action. If you for example want to create a file open dialog, you want to handle double clicks on files by yourself, but double clicks on folders should be handled by the component. In this case, an event handler could look like this:
To improve the speed in which a TJamShellList gets filled, we are using Windows API messages that fill the Subitems of a TJamShellListItem by demand only. As a result, Delphi's SubItems array appears to be empty. If you for some reason need to access the information in the SubItems array, you can use the OnAddItem event. Whenever this event is used, the SubItems array of each item gets filled when it is added (which results in a slower performance).
Since the extensions of the file may be not displayed dependant on the user's settings it is not sufficient to use the TJamShellListItem. Caption property to determine the name of a file that corresponds to a TJamShellListItem. You should use GetFullPath and SelectedFiles instead.
While this controls only mimics the right pane of the Windows Explorer, the TJamSystemShellView control hosts a true instance of the Windows Explorer's right pane and therefore looks an behaves exactly like the Windows Explorer on the target system.
|
|
Name |
Description |
![]() |
Creates an instances of a TJamBaseShellListView component | |
![]() |
Destroys an instance of a TJamBaseShellListView component |
|
|
Name |
Description |
|
This is ApplyCheckState, a member of class ICheckBoxViewer. |
|
|
Name |
Description |
|
This is SetIcon, a member of class IIconViewer. |
|
|
Name |
Description |
|
This is SetThumbnailBitmap, a member of class IThumbnailViewer. |
|
|
Name |
Description |
|
The TJamShellLink instance to which the current control connected. | |
|
This method is called by the ShellLink instance if the currently selected item has changed. | |
|
This method indicates that the callee should perform a full refresh of its contents. This will usually be an entrie reload of the displyed items. | |
|
Setter method for the ShellLink property. | |
|
This method indicates that the callee should go up one level and siplay the contents of the current folder's parent folder. | |
|
This method is called by the ShellLink instance if the currently displayed folder has changed. | |
|
This method indicates that the callee should select all item it currently displays. | |
|
Getter method for the ShellLink property. | |
|
This method indicates that the callee should perform a quick refresh of its contents. It is tolerable that changes in metadata are not detected. Removed and deleted items hsould be detected. The runtime of this method should be significantly faster thatn the one of the FullRefresh method. |
|
|
Name |
Description |
|
This has to be overwritten by the deriving class. Adjust the size of the given column so that it fills the remaining horizontal space. | |
|
Determines whether the control's image is rendered directly to the window or painted to an in-memory bitmap first. | |
|
Auto adjust the widths of all columns. | |
|
Use this function to get an Array of Integers that contains the internal order of the columns. This is helpful if you changed the order during runtime and e.g. want to fill the subitems. | |
![]() |
Returns the current column index for a given SHColumnId. | |
![]() |
This is GetDragImages, a member of class TJamBaseShellListView. | |
|
Use this function to get an array of currently visible columns. | |
|
Returns whether the given SHColumnId is currently visible or not. | |
![]() |
Set the visibility of a column. | |
![]() |
This has to be overwritten by the deriving class. | |
![]() |
This is ShowContextMenu, a member of class TJamBaseShellListView. |
|
|
Name |
Description |
|
This is Columns, a member of class TJamShellList. | |
|
FolderIdList contains a pointer to the ItemIdList of the current folder. | |
![]() |
History manages a set of paths, which have been visited. It owns a Paths property to access its members | |
![]() |
Contains the list of items displayed by the list view. | |
|
This is LargeImages, a member of class TJamShellList. | |
|
Indicates if sort order is normal or reverse. | |
|
Indicates the first selected item in the list view. | |
![]() |
Provides a list of all selected files. | |
|
This is SmallImages, a member of class TJamShellList. | |
|
The column according to which the listed object are sorted. | |
|
This is StateImages, a member of class TJamShellList. | |
|
Creates a new directory in the current folder. | |
![]() |
Refreshes the contents of the TJamShellList. | |
|
Returns the full file system path of the given TJamShellListItem | |
|
Get the checkbox state of an item. | |
![]() |
Goes up one level in the file system structure. | |
|
Executes a context menu command for the listed folder. | |
|
Executes a context menu command for all selected items. | |
|
This is IsFolder, a member of class TJamShellList. | |
|
Checks if move is possible. | |
|
This is IsSpecialObject, a member of class TJamShellList. | |
|
Jump back and forward to directories, which you selected before. | |
![]() |
Selects all Items in a TJamShellList. | |
|
This method returns the size of the files, which the user selected in the TJamShellList. | |
![]() |
This has to be implemented by the deriving class. | |
![]() |
Show the context menu for the selected items. | |
![]() |
Performs a quick refresh of the contents of the TJamShellList. |
|
|
Name |
Description |
|
Let's you control the spacing between the large icons and thumbnails. The small icons should not be affected by this property. | |
|
This event is triggered after the columns were created | |
|
This is ParentFont, a member of class TJamBaseShellListView. | |
|
Prevents operations that change the file system from being executed. | |
|
Automatically display the shell context menu. | |
|
Use the same styles as the Windows Explorer. | |
![]() |
The version number of the ShellBrower controls. |
|
|
Name |
Description |
|
This is Align, a member of class TJamShellList. | |
|
This is Anchors, a member of class TJamShellList. | |
|
Receives notifications about changes in the shell and performs refreshes automatically. | |
|
Adjust the size of the given column so that it fills the remaining horizontal space. | |
|
Image that will be drawn in the background of the control. | |
|
If a background image is assigned, this property determines the style in which the image will be shown. | |
|
Popup menu for a right click on the background of the List. | |
|
Determines whether the list view displays a single line border. | |
|
Turns on/off checkboxes for file and folder selection. | |
|
Specifies the background color of the control. | |
|
Color compressed files. | |
|
Color encrypted files. | |
|
This is Constraints, a member of class TJamShellList. | |
|
Use CopyMode to control the operation when an item is dragged or dropped. | |
|
This is Ctl3D, a member of class TJamShellList. | |
|
Use this property to control, if the TJamShellList control will show the Details of each object. | |
|
Determines whether the control's image is rendered directly to the window or painted to an in-memory bitmap first. | |
|
This is DragCursor, a member of class TJamShellList. | |
|
This is DragKind, a member of class TJamShellList. | |
|
This is DragMode, a member of class TJamShellList. | |
|
Controls whether the control responds to mouse, keyboard, and timer events. | |
|
Use FileSystemOnly to specify, if only file system objects should be displayed. | |
|
Allows you to filter objects by filename patterns. | |
|
Specifies whether the list view's scroll bars are flat. | |
|
Controls the attributes of text written on or in the control. Make sure to turn off UseSystemFont before editing this control! Otherwise the changes will not persist. | |
|
Specifies whether headers are repainted when they are dragged. | |
|
Determines whether lines are drawn separating items in the list. | |
|
Determines whether the list view gives a visual indication of which item is selected when focus shifts to another control. | |
|
This is Hint, a member of class TJamShellList. | |
|
Specifies whether list items are highlighted when the mouse passes over them. | |
|
This is HotTrackStyles, a member of class TJamShellList. | |
|
Specifies how long the user must pause with the mouse before an item is selected. | |
|
This is IconOptions, a member of class TJamShellList. | |
|
If set to true, Icons will be determined based on their file extensions only. This is usually faster, in certains cases like EXE files the icons will differ from those shown in Windows Explorer. | |
|
This is ImeMode, a member of class TJamShellList. | |
|
This is ImeName, a member of class TJamShellList. | |
|
Determines whether the user can select more than one list item at a time. | |
|
Prevent the control to be filled on startup of the application. | |
|
Set this property to true to allow Ole Drag and Drop operation with the Windows Explorer and other shell controls. | |
|
OnAddItem occurs, whenever a new item is added to a TJamShellList. | |
|
This is OnAdvancedCustomDraw, a member of class TJamShellList. | |
|
This is OnAdvancedCustomDrawItem, a member of class TJamShellList. | |
|
This is OnAdvancedCustomDrawSubItem, a member of class TJamShellList. | |
|
This event occurs just before the full refresh is executed. | |
|
This event occurs, before a context menu command is executed. | |
|
Allows you to prevent unwanted shell drops. | |
|
This is OnCanResize, a member of class TJamShellList. | |
|
This is OnChange, a member of class TJamShellList. | |
|
This is OnChanging, a member of class TJamShellList. | |
|
This event is fired, if the state of a checkbox was changed by the user. | |
|
Occurs when the user clicks the control. | |
|
This is OnColumnClick, a member of class TJamShellList. | |
|
Occurs when a column is dragged to a new position. | |
|
This is OnColumnRightClick, a member of class TJamShellList. | |
|
This is OnCompare, a member of class TJamShellList. | |
|
This event occurs, if the user has selected a menu item of the shell context menu. | |
|
This is OnContextPopup, a member of class TJamShellList. | |
|
This is OnCustomDraw, a member of class TJamShellList. | |
|
This is OnCustomDrawItem, a member of class TJamShellList. | |
|
This is OnCustomDrawSubItem, a member of class TJamShellList. | |
|
Occurs when the user double-clicks the left mouse button when the mouse pointer is over the control. | |
|
This is OnDeletion, a member of class TJamShellList. | |
|
This is OnDragDrop, a member of class TJamShellList. | |
|
This is OnDragOver, a member of class TJamShellList. | |
|
This is OnDrawItem, a member of class TJamShellList. | |
|
This is OnEdited, a member of class TJamShellList. | |
|
This is OnEditing, a member of class TJamShellList. | |
|
This is OnEndDock, a member of class TJamShellList. | |
|
This is OnEndDrag, a member of class TJamShellList. | |
|
This is OnEnter, a member of class TJamShellList. | |
|
This is OnExit, a member of class TJamShellList. | |
|
This is OnGetImageIndex, a member of class TJamShellList. | |
|
This is OnInfoTip, a member of class TJamShellList. | |
|
Occurs when a user presses any key while the control has focus. | |
|
Occurs when key pressed. | |
|
Occurs when a user presses any key while the control has focus. | |
|
This is OnMouseDown, a member of class TJamShellList. | |
|
Occurs when the mouse pointer moves over the control. | |
|
Occurs when the mouse pointer moves off from over the control. | |
|
This is OnMouseMove, a member of class TJamShellList. | |
|
This is OnMouseUp, a member of class TJamShellList. | |
|
The OnOperation event occurs after the TJamShellList executed a shell operation like pasting or dragging and dropping files. | |
|
The OnPathChanged event occurs, when the users changes the path. | |
|
The OnPopulated event occurs, after a TJamShellList was filled completely. | |
|
This is OnResize, a member of class TJamShellList. | |
|
This is OnSelectItem, a member of class TJamShellList. | |
|
This is OnStartDock, a member of class TJamShellList. | |
|
This is OnStartDrag, a member of class TJamShellList. | |
|
The OnThumbnailUpdated event occurs, when a viewed thumbnail is updated. | |
|
This is ParentColor, a member of class TJamShellList. | |
|
This is ParentCtl3D, a member of class TJamShellList. | |
|
Determines whether the control's image is rendered directly to the window or painted to an in-memory bitmap first. | |
|
This is ParentFont, a member of class TJamShellList. | |
|
This is ParentShowHint, a member of class TJamShellList. | |
|
The file system path of the current folder. | |
|
This is PopupMenu, a member of class TJamShellList. | |
|
Determines whether an entire row in the list view can be selected. | |
|
Connects this component to a TJamShellLink in order to synchronize several shell controls. | |
|
Determines whether the column headers are displayed. | |
|
Show the context menu on the top of the supplied Delphi TPopupMenu. | |
|
Allow Windows error messages. | |
|
Shows extra large icons. | |
|
The property ShowFiles allows you to include the files in the TJamShellList. | |
|
The property ShowFolders allows you to include the folders in the TJamShellList, similar to FrontPage 2000. | |
|
With this property you can hide or show hidden folders like the recycle bin or some special directories in the Windows folder. | |
|
When this property is set to true, the hint text which the shell provides is shown. | |
|
Shows jumbo icons. | |
|
If set to false, the Network Neighborhood will not be shown. The default value is true. | |
|
Determines whether the overlay icons are displayed. | |
|
Use this property to show an additional folder ".." to navigate upwards. | |
|
Show the Recycle Bin. | |
|
Allows you to deal with non file system folders. | |
|
This is TabOrder, a member of class TJamShellList. | |
|
This is TabStop, a member of class TJamShellList. | |
|
Specifies the background color of the control. | |
|
Use ThumbnailHeight to find the vertical size in pixels of the jpeg image. | |
|
Switches the thumbnail mode on and off. | |
|
Use ThumbnailWidth to find the horizontal size in pixels of the thumbnail image. | |
|
If it is set to true, the TJamShellList uses the same font as the Windows Explorer. | |
|
Determines how the list items are displayed. | |
|
Determines whether the component appears on screen. |