Sign in Join
FPDoc Onlineexperiment

TShellListView class

In unit ShellCtrls

Implements a list view control to display files or directories found on the local file system.

Declaration

pascal
TShellListView = class(TCustomShellListView)

Inheritance

  1. TShellListView
  2. TCustomShellListView
  3. TCustomListView
  4. TWinControl
  5. TControl
  6. TLCLComponent
  7. TComponent
  8. TPersistent
  9. TObject

Description

TShellListView is a TCustomShellListView descendant which implements a list view control for file system objects on the local file system. TShellListView extends the TListView ancestor class with properties, methods, and events needed to access and maintain the items displayed on the list view control.

Use ViewStyle to control the layout used on the list view control. The default setting is vsReport.

Use ObjectTypes to specify which file system entries are visible on the control. The default setting [otNonFolders] causes only files to be displayed. [otFolders, otNonFolders, otHidden] causes all directories and files to be displayed (including hidden files or folders).

Use Columns to specify which file system information is displayed on the list view control. By default, columns are created for file or directory name, file size, and file type information. Additional columns can be added to display attributes or permissions for the file system objects, or their last modification date/time stamp. A custom column type is available where the column content is provided by the OnGetCellText event handler in the control.

Use Root to specify the initial directory displayed on the list view control. Or, use the ShellTreeView property to associate a tree view control which can be used to navigate the directory structure on the file system and to provide the current directory visible on the list view control.

Use Mask to specify which files or folders are displayed on the control. Use MaskCaseSensitivity to control whether the file masks case sensitive.

Use Items to access the list of TFileItem instances displayed on the control.

Use the event handlers like OnAddItem and OnFileAdded to examine or validate file system objects before and after they are added to the Items collection.

Use FileSortType, SortType, and SortColumn to control sorting of the visible objects on the control. Use OnSortCompare to implement a user-specified sort order.

Use Selected, LastSelected, and MultiSelect to access the selected items on the control. Use RowSelect to control whether the entire row is selected or only the affected cell is selected on the control.

See TListView for more information about methods, properties, and events introduced in the ancestor class.

See also

Properties

AlignpublishedSpecifies the placement of the control on its Parent control.
AutoSizeColumnspublishedIndicates if columns in the control are automatically resized to fill the client display area.
AnchorspublishedThe set of anchor definitions for this control.
BorderSpacingpublishedDetermines the inner and outer border spacing for this control.
BorderStylepublishedLine style drawn as a border around the control.
BorderWidthpublishedWidth of the Border around the control; default is zero.
ColorpublishedThe background color for the control.
ColumnspublishedCollection with the column definitions for the list view control (size, alignment, image index, etc.).
ConstraintspublishedContains the minimum and maximum Width and Height for the control.
DragCursorpublishedThe cursor shape shown during a drag operation.
DragModepublishedDetermines how a drag operation is started for the control.
EnabledpublishedDetermines whether the control responds to mouse or keyboard input.
FontpublishedThe font to be used for text display in this control.
HideSelectionpublishedIf control looses focus, don't paint selection background for selected item(s).
LargeImagespublishedImage list which contains "big" icons displayed for view styles on the control.
LargeImagesWidthpublishedContains the Width for the large images used in the list view.
MaskpublishedFile mask used to select items displayed in the shell control.
MaskCaseSensitivitypublishedCase Sensitivity option enabled for file masks in the shell control.
MultiSelectpublishedAllows simultaneous selection of one or more list items using Ctrl+Click, Shift+Click, Ctrl+Shift+Click, or using program code.
ParentColorpublishedUses the Color from the Parent control, when enabled.
ParentFontpublishedIndicates if the Font from the Parent control is used in the control.
ParentShowHintpublishedIf True, the value of ShowHint for the control will be the same as the one from the Parent. Default is True.
PopupMenupublishedA context-sensitive menu that pops up when the right mouse button is clicked over this control.
ReadOnlypublishedDisables editing of list items on the shell control when set to True.
RowSelectpublishedIndicates if the entire row is highlighted when selected on the list view control.
ScrollBarspublishedSpecifies the scroll bars visible for the control.
ShowColumnHeaderspublishedShow header area in ListView, which shows captions of columns.
ShowHintpublishedEnables Hint display for the control.
SmallImagespublishedImage list which contains "small" icons used for view styles.
SmallImagesWidthpublishedWidth for the images in the SmallImages property.
SortColumnpublishedOrdinal position for the column used to sort the list items, or -1 when not assigned.
SortDirectionpublishedSorting direction (order) for the current SortColumn.
SortTypepublishedSpecifies the sorting mechanism used for the current SortColumn.
StateImagespublishedImage list with the state images for the items on the control.
TabStoppublishedAllows navigation to and from the control by pressing the Tab or Shift+Tab keys.
TabOrderpublishedIndicates the navigation order for the control when the user presses the Tab or Shift+Tab key.
ToolTipspublishedIndicates if a hint (tool tip) is automatically displayed for the list item under the mouse cursor.
VisiblepublishedAllows the control, and all of its children, to be displayed or hidden.
ViewStylepublishedSets one of ListView layouts: List (simple column), Report (few columns with full width), Icon (big icons), Small Icon (small icons, 16x16).
ObjectTypespublishedControls which file system objects are visible on the list view control.
RootpublishedIndicates the initial directory path whose objects are displayed in the control.
ShellTreeViewpublishedUsed to connect the ShellListView to a ShellTreeView.
FileSortTypepublishedControls the sort order for object types displayed on the control.

Events

OnChangepublishedEvent handler signalled when the content for a list item is changed.
OnClickpublishedNotification handler for mouse clicks.
OnColumnClickpublishedEvent handler signalled when a column header for the control is clicked.
OnComparepublishedEvent handler signalled to compare list items in the CustomSort method.
OnContextPopuppublishedInvoked when a context-sensitive pop-up menu is requested.
OnDblClickpublishedEvent handler signalled when a mouse double click occurs in the control.
OnDeletionpublishedEvent handler signalled when a list item is deleted from the Items container.
OnDragDroppublishedEvent handler signalled when an object is dropped onto the control.
OnDragOverpublishedEvent handler signalled when a control is dragged over the control instance.
OnEditedpublishedEvent handler signalled prior to updating a list item caption when it has been edited in the control.
OnEditingpublishedEvent handler signalled to determine if editing can be performed for a list item in the control.
OnEndDragpublishedEvent handler signalled for the end of a drag-drop operation.
OnGetCellTextpublished
OnKeyDownpublishedEvent handler signalled for key down keyboard events.
OnKeyPresspublishedEvent handler signalled for character data entered by the user.
OnKeyUppublishedEvent handler signalled when a key up event has occurred for the control.
OnMouseDownpublishedEvent handler signalled when a mouse down event is handled for the control.
OnMouseEnterpublishedEvent handler signalled when the mouse pointer has entered the control.
OnMouseLeavepublishedEvent handler signalled when the mouse pointer has left the control.
OnMouseMovepublishedEvent handler signalled when the mouse pointer is moved in the control.
OnMouseUppublishedEvent handler signalled when a mouse up event is handled for the control.
OnMouseWheelpublishedEvent handler for mouse wheel turned.
OnMouseWheelDownpublishedEvent handler signalled for a downward movement of the mouse wheel.
OnMouseWheelUppublishedEvent handler signalled for an upward movement of the mouse wheel.
OnMouseWheelHorzpublishedEvent handler signalled for a horizontal movement of the mouse wheel.
OnMouseWheelLeftpublishedEvent handler signalled for a leftward movement of the mouse wheel.
OnMouseWheelRightpublishedEvent handler signalled for a rightward movement of the mouse wheel.
OnResizepublishedNotification handler for a resize of the control.
OnSelectItempublishedEvent handler signalled when the selected list item for the control is changed.
OnStartDragpublishedEvent handler signalled for the start of a dragging operation.
OnUTF8KeyPresspublishedHandler for a character entered by the user.
OnAddItempublishedEvent handler signalled to determine if the specified file information can be added to the Items for the list view.
OnFileAddedpublishedEvent handler signalled when a file is added to the Items in the control.
OnSortComparepublishedEvent handler signalled to perform a custom sort for the ObjectTypes in Items.

Inherited

From TCustomShellListView (24)

AdjustColWidths Create CreateHandle CreateListColumns CreateListItem Destroy DoAddItem DoOnResize FindAndSelectItem FindColumn GetBuiltinImageIndex GetCellText GetListColumnClass GetPathFromItem InitColumns Items Loaded PopulateWithRoot SetAutoSizeColumns Sort UpdateColumn UpdateView UseBuiltInIcons WSRegisterClass

From TCustomListView (106)

AddItem AllocBy AlphaSort AutoSort AutoSortIndicator AutoWidthLastColumn BeginAutoDrag BeginUpdate BoundingRect CanChange CanEdit Canvas Change Checkboxes Clear ClearSelection ColClick Column ColumnClick ColumnCount CreateListItems CustomDraw CustomDrawItem CustomDrawSubItem CustomSort DblClick DefaultItemHeight Delete DestroyWnd DoAutoAdjustLayout DoDeletion DoEndEdit DoGetOwnerData DoInsert DoItemChecked DoOwnerDataFind DoOwnerDataHint DoOwnerDataStateChange DoSelectItem DoSetBounds DrawItem DropTarget Edit EndUpdate FastClear FinalizeWnd FindCaption FindData FlatScrollBars FullDrag GetControlClassDefaultSize GetFirstSelected GetHitTestInfoAt GetItemAt GetNearestItem GetNextItem GetNextSelected GetUpdateCount GridLines HotTrack HotTrackStyles HoverTime IconOptions ImageChanged InitializeWnd InitMultiSelList InsertItem IntfCustomDraw IsCustomDrawn IsEditing ItemDeleted ItemFocused ItemIndex ItemInserted KeyDown LastSelected Notification OnAdvancedCustomDraw OnAdvancedCustomDrawItem OnAdvancedCustomDrawSubItem OnChanging OnCreateItemClass OnCustomDraw OnCustomDrawItem OnCustomDrawSubItem OnData OnDataFind OnDataHint OnDataStateChange OnDrawItem OnInsert OnItemChecked OwnerData OwnerDraw Repaint SelCount SelectAll Selected ShowWorkAreas SortWithParams StateImagesWidth TopItem Update UpdateMultiSelList ViewOrigin VisibleRowCount

From TWinControl (226)

AddControl AdjustClientRect AlignControls AllAutoSized AutoAdjustLayout AutoSizeDelayed AutoSizeDelayedHandle AutoSizeDelayedReport AutoSizePhases BeginUpdateBounds BoundsLockCount BroadCast Brush BrushCreated CachedClientHeight CachedClientWidth CalculatePreferredSize CanFocus CanSetFocus CanTab ChangeScale ChildClassAllowed ChildHandlesCreated ChildKey ChildSizing ClientRectNeedsInterfaceUpdate CMBiDiModeChanged CMBorderChanged CMDoubleBufferedChanged CMEnabledChanged CMEnter CMExit CMParentDoubleBufferedChanged CMShowHintChanged CMShowingChanged CMVisibleChanged CNChar CNKeyDown CNKeyUp CNSysKeyDown CNSysKeyUp ContainsControl ControlAtPos ControlCount ControlKeyDown ControlKeyUp Controls ControlsAligned CreateBrush CreateDockManager CreateParams CreateParented CreateParentedControl CreateSubClass CreateWnd CustomAlignInsertBefore CustomAlignPosition DefaultHandler DefWndProc DesignerDeleting DestroyHandle DialogChar DisableAlign DoAddDockClient DoAdjustClientRectChange DoAlignChildControls DoAllAutoSize DoAutoSize DoChildSizingChange DockClientCount DockClients DockDrop DockManager DockOver DockSite DoConstraintsChange DoDockClientMsg DoDockOver DoDragMsg DoEnter DoExit DoFlipChildren DoFloatMsg DoGetDockCaption DoKeyDownBeforeInterface DoKeyPress DoKeyUpBeforeInterface DoRemainingKeyDown DoRemainingKeyUp DoRemoveDockClient DoSendBoundsToInterface DoSendShowHideToInterface DoubleBuffered DoUnDock DoUndockClientMsg DoUTF8KeyPress EnableAlign EndUpdateBounds EraseBackground FindChildControl FindNextControl FixDesignFontsPPIWithChildren FixupTabList FlipChildren Focused FontChanged FormEndUpdated GetAdjustedLogicalClientRect GetBorderStyle GetChildren GetChildrenRect GetClientOrigin GetClientRect GetControlIndex GetControlOrigin GetDeviceContext GetDockCaption GetEnumeratorControls GetEnumeratorControlsReverse GetMouseCapture GetParentHandle GetPreferredSizeClientFrame GetSiteInfo GetTabOrderList GetTextLen GetTopParentHandle Handle HandleAllocated HandleNeeded InsertControl IntfGetDropFilesTarget IntfUTF8KeyPress Invalidate InvalidateBoundsRealized InvalidateClientRectCache InvalidatePreferredChildSizes IsClientHeightStored IsClientWidthStored IsControlMouseMsg IsFlipped IsResizing IsSpecialSubControl KeyDownAfterInterface KeyDownBeforeInterface KeyPress KeyUp KeyUpAfterInterface KeyUpBeforeInterface LockRealizeBounds MainWndProc NotifyControls OnAlignInsertBefore OnAlignPosition OnDockDrop OnDockOver OnEnter OnExit OnGetDockCaption OnGetSiteInfo OnUnDock PaintControls PaintHandler PaintTo PaintWindow ParentDoubleBuffered ParentFormHandleInitialized ParentHandlesAllocated ParentWindow PerformTab RealGetText ReAlign RealizeBounds RealizeBoundsRecursive RealSetText ReloadDockedControl RemoveControl RemoveFocus ScaleBy ScaleControls ScrollBy ScrollBy_WS SelectFirst SelectNext SendDialogChar SendMoveSizeMessages SetBorderStyle SetBounds SetChildZPosition SetColor SetControlIndex SetDockManager SetFocus SetShape SetTempCursor ShowControl Showing UnlockRealizeBounds UpdateControlState UpdateDockCaption UpdateShowing UseDockManager UTF8KeyPress VisibleDockClientCount WindowHandle WMChar WMContextMenu WMDestroy WMEnter WMEraseBkgnd WMExit WMKeyDown WMKeyUp WMKillFocus WMMove WMNotify WMPaint WMSetFocus WMShowWindow WMSize WMSysChar WMSysKeyDown WMSysKeyUp WMWindowPosChanged WndProc WriteLayoutDebugReport WSSetText

From TControl (327)

AccessibleDescription AccessibleName AccessibleRole AccessibleValue Action ActionChange ActionLink ActiveDefaultControlChanged AddHandler AddHandlerOnBeforeDestruction AddHandlerOnChangeBounds AddHandlerOnEnabledChanged AddHandlerOnEnabledChanging AddHandlerOnKeyDown AddHandlerOnMouseWheel AddHandlerOnResize AddHandlerOnVisibleChanged AddHandlerOnVisibleChanging AdjustSize AnchorAsAlign AnchorClient AnchoredControlCount AnchoredControls AnchorHorizontalCenterTo AnchorParallel AnchorSame AnchorSide AnchorSideBottom AnchorSideChanged AnchorSideLeft AnchorSideRight AnchorSideTop AnchorToCompanion AnchorToNeighbour AnchorVerticalCenterTo AssignTo AutoSize AutoSizing AutoSizingAll AutoSizingLockCount BaseBounds BaseParentClientSize BeforeDestruction BeforeDragStart BeginAutoSizing BeginDrag BiDiMode BoundsChanged BoundsRect BoundsRectForNewParent BringToFront CalculateDockSizes CanAutoSize Caption CaptureChanged CaptureMouseButtons ChangeBounds Changed CheckChildClassAllowed CheckNewParent CheckOnChangeBounds Click ClientHeight ClientOrigin ClientRect ClientToParent ClientToScreen ClientWidth CMChanged CMCursorChanged CMHintShow CMHitTest CMMouseEnter CMMouseLeave CMParentBiDiModeChanged CMParentColorChanged CMParentFontChanged CMParentShowHintChanged CMSysFontChanged CMTextChanged CNPreferredSizeChanged ColorIsStored ConstrainedResize ControlFontClass ControlOrigin ControlState ControlStyle ControlToScreen CreateAccessibleObject CreateControlBorderSpacing CreateFloatingDockSite Cursor DefineProperties DesktopFont DisableAutoSizing DoBorderSpacingChange DoCallKeyEventHandler DoCallMouseWheelEventHandler DoCallNotifyHandler Dock Docked DockOrientation DockTrackNoTarget DoContextPopup DoDock DoEndDock DoEndDrag DoFixDesignFontPPI DoMouseDown DoMouseUp DoMouseWheel DoMouseWheelDown DoMouseWheelHorz DoMouseWheelLeft DoMouseWheelRight DoMouseWheelUp DoOnChangeBounds DoOnParentHandleDestruction DoOnShowHint DoScaleFontPPI DoStartDock DoStartDrag DragCanceled DragDrop Dragging DragKind DragOver EditingDone EnableAutoSizing EnabledChanged EnabledChanging EndAutoSizing EndDrag ExecuteCancelAction ExecuteDefaultAction FindSubComponent FixDesignFontsPPI Floating FloatingDockSiteClass ForeignAnchorSideChanged FormIsUpdating GetAccessibleObject GetAction GetActionLinkClass GetAnchorsDependingOnParent GetCachedText GetCanvasScaleFactor GetChildAccessibleObjectAtPos GetClientScrollOffset GetColorResolvingParent GetCursor GetDefaultColor GetDefaultDockCaption GetDefaultHeight GetDefaultWidth GetDockEdge GetDragImages GetEnabled GetFloating GetFloatingDockSiteClass GetLogicalClientRect GetMousePosFromMessage GetPalette GetParentBackground GetParentComponent GetPopupMenu GetPreferredSize GetRGBColorResolvingParent GetScrolledClientRect GetSelectedChildAccessibleObject GetSidePosition GetTextBuf GetTopParent HandleObjectShouldBeVisible HasHelp HasParent Height HeightIsAnchored HelpContext HelpKeyword HelpType Hide Hint HostDockSite InitiateAction InvalidateControl InvalidatePreferredSize IsAParentAligning IsBorderSpacingInnerBorderStored IsCaptionStored IsControl IsControlVisible IsEnabled IsParentColor IsParentFont IsParentOf IsProcessingPaintMsg IsRightToLeft IsVisible Left LMCaptureChanged LoadedAll LRDockWidth ManualDock ManualFloat MouseCapture MouseDown MouseEnter MouseInClient MouseLeave MouseMove MouseUp OnChangeBounds OnConstrainedResize OnEditingDone OnEndDock OnQuadClick OnShowHint OnStartDock OnTripleClick Parent ParentBackground ParentBiDiMode ParentDestroyingHandle ParentFontChanged ParentToClient Perform PositionDockRect QuadClick ReadBounds ReadState Refresh RemoveAllHandlersOfObject RemoveHandler RemoveHandlerOnBeforeDestruction RemoveHandlerOnChangeBounds RemoveHandlerOnEnabledChanged RemoveHandlerOnEnabledChanging RemoveHandlerOnKeyDown RemoveHandlerOnMouseWheel RemoveHandlerOnResize RemoveHandlerOnVisibleChanged RemoveHandlerOnVisibleChanging ReplaceDockedControl RequestAlign Resize Scale96ToFont Scale96ToForm Scale96ToScreen ScaleConstraints ScaleDesignToForm ScaleFontsPPI ScaleFontTo96 ScaleFontToScreen ScaleFormTo96 ScaleFormToDesign ScaleScreenTo96 ScaleScreenToFont ScreenToClient ScreenToControl SendToBack SessionProperties SetAction SetAlign SetAnchors SetAutoSize SetBiDiMode SetBoundsKeepBase SetCursor SetDragMode SetEnabled SetHint SetInitialBounds SetName SetParent SetParentBackground SetParentBiDiMode SetParentComponent SetTextBuf SetVisible SetZOrder ShouldAutoAdjust Show ShowHelp TBDockHeight Text TextChanged Top TripleClick UndockHeight UndockWidth UpdateAnchorRules UpdateBaseBounds UpdateMouseCursor UpdateRolesForForm UseRightToLeftAlignment UseRightToLeftReading UseRightToLeftScrollBar VisibleChanged VisibleChanging Width WidthIsAnchored WindowProc WMCancelMode WMLButtonDBLCLK WMLButtonDown WMLButtonQuadCLK WMLButtonTripleCLK WMLButtonUp WMMButtonDBLCLK WMMButtonDown WMMButtonQuadCLK WMMButtonTripleCLK WMMButtonUp WMMouseHWheel WMMouseMove WMMouseWheel WMRButtonDBLCLK WMRButtonDown WMRButtonQuadCLK WMRButtonTripleCLK WMRButtonUp WMXButtonDBLCLK WMXButtonDown WMXButtonQuadCLK WMXButtonTripleCLK WMXButtonUp

From TLCLComponent (6)

DecLCLRefCount GetWSComponentClass IncLCLRefCount LCLRefCount NewInstance WidgetSetClass

From TComponent (64)

_AddRef _Release CanObserve ChangeName ComObject ComponentCount ComponentIndex Components ComponentState ComponentStyle DesignInfo DestroyComponents Destroying ExecuteAction FindComponent FreeNotification FreeOnRelease GetChildOwner GetChildParent GetDeltaStreams GetEnumerator GetIDsOfNames GetNamePath GetObservers GetOwner GetTypeInfo GetTypeInfoCount iicrGetComponent InsertComponent Invoke IsImplementorOf Loading Name ObserverAdded Observers OnGetDeltaStreams Owner PaletteCreated QueryInterface ReadDeltaState ReadDeltaStream ReferenceInterface RemoveComponent RemoveFreeNotification RemoveFreeNotifications SafeCallException SetAncestor SetChildOrder SetDesigning SetDesignInstance SetInline SetSubComponent Tag ToString TToStringNameMode UpdateAction Updated UpdateRegistry Updating ValidateContainer ValidateInsert ValidateRename VCLComObject WriteState

From TPersistent (4)

Assign FPOAttachObserver FPODetachObserver FPONotifyObservers

From TObject (35)

AfterConstruction CheckDisposed ClassInfo ClassName ClassNameIs ClassParent ClassType CleanupInstance DefaultHandlerStr Dispatch DispatchStr Disposed DisposeOf Equals FieldAddress Free FreeInstance GetDisposed GetHashCode GetInterface GetInterfaceByStr GetInterfaceEntry GetInterfaceEntryByStr GetInterfaceTable GetInterfaceWeak GetLastCastErrorInfo InheritsFrom InitInstance InstanceSize MethodAddress MethodName QualifiedClassName StringMessageTable SystemHasExtendedRTTI UnitName

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.