[Overview][Constants][Types][Classes][Procedures and functions][Index] | Reference for unit 'ComCtrls' (#lcl)

# TListView

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

TListView - a window showing a list of Items, which may or may not have associated icons

## Declaration

Source position: comctrls.pp line 1080

`type TListView = class(TCustomListView)`
`published`
`property Align;` |  | Used to align the control to the top, bottom, left or right of its client.
`property Anchors;` |  | The set of anchor definitions for this control
`property BorderSpacing;` |  | Determines the border spacing for this control
`property BorderStyle;` |  | BorderStyle - none, or single
`property BorderWidth;` |  | Property to determine width of the window's border
`property Checkboxes;` |  | CheckBoxes - determines if the ListView shows checkboxes beside the items on the list
`property Color;` |  | Determine the colour for the current control
`property Columns;` |  | Columns - define and change the columns of a ListView
`property ColumnClick;` |  | ColumnClick - determines if the OnColumnClick event will be executed.
`property Constraints;` |  | Determine Constraints (max and min height and width) for this control
`property DragCursor;` |  | DragCursor - the style of cursor to be used during the Drag process
`property DragMode;` |  | DragMode - whether manual or automatic
`property Enabled;` |  | Whether the control is Enabled. If not, it usually appears 'greyed-out'
`property Font;` |  | The Font to be used for text in this control
`property HideSelection;` |  | HideSelection - render the selected items invisible
`property Items;` |  | Items - the list of entries in the list. Held as a linked list with a cached index of the last accessed item
`property LargeImages;` |  | LargeImages - an ImageList to be used in association with the list of Items
`property MultiSelect;` |  | MultiSelect - enables the selection of more than one entry from Items - by pressing SHIFT or CTRL keys while selecting
`property ParentColor;` |  | ParentColor - should the control have the same colour as the parent? Default is true
`property ParentFont;` |  | ParentFont - should the control use the same font as the parent? Default is true
`property ParentShowHint;` |  | ParentShowHint - does the control adopt the same hinting behaviour as its parent? Default is true
`property PopupMenu;` |  | PopupMenu - a context-sensitive menu that pops up when the right mouse button is clicked over this control
`property ReadOnly;` |  | ReadOnly - determines if the list can only be read, and not written or deleted.
`property RowSelect;` |  | RowSelect - whether the user can select rows of items (across columns). Default false
`property ScrollBars;` |  | ScrollBars - the kind of scrollbars to be used: none, auto, horizontal or vertical
`property ShowColumnHeaders;` |  | ShowColumnHeaders - whether headers for columns are to be displayed
`property ShowHint;` |  | Flag to determine: Is hint to be displayed for this control?
`property SmallImages;` |  | SmallImages - an ImageList of small images (icons) to be used in association with the list of Items
`property SortColumn;` |  | SortColumn - the column that is being sorted
`property SortType;` |  | SortType - whether to sort by text, by data, both or not at all
`property StateImages;` |  | StateImages - an imagelist of icons to demonstrate the state of a process or event
`property TabStop;` |  | Is the control in the sequence of controls accessed by successive presses of the Tab key?
`property TabOrder;` |  | The place this control occupies in the list of tabs
`property ToolTips;` |  | ToolTips - whether Popup tool tips are to be shown
`property Visible;` |  | Visible - can the control be seen?
`property ViewStyle;` |  | ViewStyle - whether to view as a simple list, a list with large or small icons, or as a report
`property OnAdvancedCustomDraw;` |  | OnAdvancedCustomDraw - event handler for advanced custom drawing
`property OnAdvancedCustomDrawItem;` |  | OnAdvancedCustomDrawItem - event handler for advanced custom drawing item
`property OnAdvancedCustomDrawSubItem;` |  | OnAdvancedCustomDrawSubItem - event handler for advanced custom drawing subitem
`property OnChange;` |  | OnChange - event handler for a change in the list
`property OnClick;` |  | Event Handler for mouse click
`property OnColumnClick;` |  | OnColumnClick - event handler for clicking on a coulmn
`property OnCompare;` |  | OnCompare - event handler for comparing list items
`property OnContextPopup;` |  | Event handler to supply information when a context-sensitive pop-up menu is required
`property OnCustomDraw;` |  | OnCustomDraw - event handler for custom drawing
`property OnCustomDrawItem;` |  | OnCustomDrawItem - event handler for custom drawing an item
`property OnCustomDrawSubItem;` |  | OnCustomDrawSubItem - event handler for custom drawing a subitem
`property OnDblClick;` |  | Event Handle for mouse double-click
`property OnDeletion;` |  | OnDeletion - event handler for deleting a list item
`property OnDragDrop;` |  | Event handler for the Drag-Drop manoeuvre
`property OnDragOver;` |  | Event handler for the case when a control is dragged over another control
`property OnEndDrag;` |  | Event handler for the end of a dragging process
`property OnKeyDown;` |  | OnKeyDown - event handler for instance when key is down while control has focus
`property OnKeyPress;` |  | OnKeyPress - event controller for a key being pressed while the control has focus. To properly handle national chars use UTF8KeyPress instead.
`property OnKeyUp;` |  | OnKeyUp - event handler for instance when a key is up (not pressed) while the control has focus
`property OnMouseDown;` |  | Event handler for when a mouse button is pressed down
`property OnMouseMove;` |  | Event handler for mouse movement within the current control
`property OnMouseUp;` |  | Event handler for when the mouse button is released, ie "up"
`property OnResize;` |  | Event Handler for resize of control
`property OnSelectItem;` |  | OnSelectItem - event handler for list item selection
`property OnStartDrag;` |  | Event handler for start of dragging process
`property OnUTF8KeyPress;` |  | UTF8KeyPress - event controller for a key being pressed while the control has focus.
`end;`

## Inheritance

`TListView` |  | TListView - a window showing a list of Items, which may or may not have associated icons
`TCustomListView` |  | TCustomListView - the base class for TListView
`TWinControl`
?
`TObject`

## Description

TListView - a window showing a list of items, which may or may not have associated icons

At first, this control looks very like TListBox, but it has a much higher degree of complexity. It is capable of displaying Items in Columns of Rows, and it can have images associated with the list Items.

The important information is held in Items, a string-list that can be created using the string-list editor obtained by right-clicking on the ListView in the Form Editor or by clicking on the ellipsis (...) next to the Items entry in the Object Inspector.

A typical application might have two ImageLists: one ofLargeImages and one of SmallImages, containing two versions of the same collection of images, in large and small format; the index numbers of the first list would correspond with those in the second list.

SmallImages (if assigned to a string-list) can be displayed beside the text strings in the list view, and the programmer would supply code to ensure that when an item with its associated Small Image was selected, the corresponding Large Image would be displayed in another window.

One or more TImageList controls need to be selected and pasted on to the Form Designer, and the ImageList Editor can be opened from the pop-up menu obtained by right-clicking on TImageList icon in the Form Designer. The image list can be populated by reading from files. Then in the StringList editor for Items the correct ImageIndex must be allocated to each entry in the list.

The latest version of this document can be found at lazarus-ccr.sourceforge.net.