List View

This section contains information about the programming elements used with list-view controls.

Overviews

TopicContents
About List-View Controls

A list-view control is a window that displays a collection of items.

Default List-View Message Processing

This section lists the window message processing performed by a list-view control.

Using List-View Controls

This section contains code examples that demonstrate how to create and use list-view controls in your applications.

 

Macros

TopicContents
ListView_ApproximateViewRect

Calculates the approximate width and height required to display a given number of items. You can use this macro or send the LVM_APPROXIMATEVIEWRECT message explicitly.

ListView_Arrange

Arranges items in icon view. You can use this macro or send the LVM_ARRANGE message explicitly.

ListView_CancelEditLabel

Cancels an item text editing operation. You can use this macro or send the LVM_CANCELEDITLABEL message explicitly.

ListView_CreateDragImage

Creates a drag image list for the specified item. You can use this macro or send the LVM_CREATEDRAGIMAGE message explicitly.

ListView_DeleteAllItems

Removes all items from a list-view control. You can use this macro or send the LVM_DELETEALLITEMS message explicitly.

ListView_DeleteColumn

Removes a column from a list-view control. You can use this macro or send the LVM_DELETECOLUMN message explicitly.

ListView_DeleteItem

Removes an item from a list-view control. You can use this macro or send the LVM_DELETEITEM message explicitly.

ListView_EditLabel

Begins in-place editing of the specified list-view item's text. The message implicitly selects and focuses the specified item. You can use this macro or send the LVM_EDITLABEL message explicitly.

ListView_EnableGroupView

Enables or disables whether the items in a list-view control display as a group. You can use this macro or send the LVM_ENABLEGROUPVIEW message explicitly.

ListView_EnsureVisible

Ensures that a list-view item is either entirely or partially visible, scrolling the list-view control if necessary. You can use this macro or send the LVM_ENSUREVISIBLE message explicitly.

ListView_FindItem

Searches for a list-view item with the specified characteristics. You can use this macro or send the LVM_FINDITEM message explicitly.

ListView_GetBkColor

Gets the background color of a list-view control. You can use this macro or send the LVM_GETBKCOLOR message explicitly.

ListView_GetBkImage

Gets the background image in a list-view control. You can use this macro or send the LVM_GETBKIMAGE message explicitly.

ListView_GetCallbackMask

Gets the callback mask for a list-view control. You can use this macro or send the LVM_GETCALLBACKMASK message explicitly.

ListView_GetCheckState

Determines if an item in a list-view control is selected. This should be used only for list-view controls that have the LVS_EX_CHECKBOXES style.

ListView_GetColumn

Gets the attributes of a list-view control's column. You can use this macro or send the LVM_GETCOLUMN message explicitly.

ListView_GetColumnOrderArray

Gets the current left-to-right order of columns in a list-view control. You can use this macro or send the LVM_GETCOLUMNORDERARRAY message explicitly.

ListView_GetColumnWidth

Gets the width of a column in report or list view. You can use this macro or send the LVM_GETCOLUMNWIDTH message explicitly.

ListView_GetCountPerPage

Calculates the number of items that can fit vertically in the visible area of a list-view control when in list or report view. Only fully visible items are counted. You can use this macro or send the LVM_GETCOUNTPERPAGE message explicitly.

ListView_GetEditControl

Gets the handle to the edit control being used to edit a list-view item's text. You can use this macro or send the LVM_GETEDITCONTROL message explicitly.

ListView_GetEmptyText

Gets the text meant for display when the list-view control appears empty. Use this macro or send the LVM_GETEMPTYTEXT message explicitly.

ListView_GetExtendedListViewStyle

Gets the extended styles that are currently in use for a given list-view control. You can use this macro or send the LVM_GETEXTENDEDLISTVIEWSTYLE message explicitly.

ListView_GetFocusedGroup

Gets the group that has the focus. Use this macro or send the LVM_GETFOCUSEDGROUP message explicitly.

ListView_GetFooterInfo

Gets information on the footer of a specified list-view control. Use this macro or send the LVM_GETFOOTERINFO message explicitly.

ListView_GetFooterItem

Gets information on a footer item for a specified list-view control. Use this macro or send the LVM_GETFOOTERITEM message explicitly.

ListView_GetFooterItemRect

Gets the coordinates of a footer for a specified item in a list-view control. Use this macro or send the LVM_GETFOOTERITEMRECT message explicitly.

ListView_GetFooterRect

Gets the coordinates of the footer for a specified list-view control. Use this macro or send the LVM_GETFOOTERRECT message explicitly.

ListView_GetGroupCount

Gets the number of groups. You can use this macro or send the LVM_GETGROUPCOUNT message explicitly.

ListView_GetGroupHeaderImageList

Gets the group header image list that has been set for an existing list-view control.

ListView_GetGroupInfo

Gets group information. You can use this macro or send the LVM_GETGROUPINFO message explicitly.

ListView_GetGroupInfoByIndex

Gets information on a specified group. Use this macro or send the LVM_GETGROUPINFOBYINDEX message explicitly.

ListView_GetGroupMetrics

Gets information about the display of groups. You can use this macro or send the LVM_GETGROUPMETRICS message explicitly.

ListView_GetGroupRect

Gets the rectangle for a specified group. Use this macro or send the LVM_GETGROUPRECT message explicitly.

ListView_GetGroupState

Gets the state for a specified group. Use this macro or send the LVM_GETGROUPSTATE message explicitly.

ListView_GetHeader

Gets the handle to the header control used by a list-view control. You can use this macro or send the LVM_GETHEADER message explicitly.

ListView_GetHotCursor

Gets the HCURSOR used when the pointer is over an item while hot tracking is enabled. You can use this macro or send the LVM_GETHOTCURSOR message explicitly.

ListView_GetHotItem

Gets the index of the hot item. You can use this macro or send the LVM_GETHOTITEM message explicitly.

ListView_GetHoverTime

Gets the amount of time that the mouse cursor must hover over an item before it is selected. You can use this macro or send the LVM_GETHOVERTIME message explicitly.

ListView_GetImageList

Gets the handle to an image list used for drawing list-view items. You can use this macro or send the LVM_GETIMAGELIST message explicitly.

ListView_GetInsertMark

Gets the position of the insertion point. You can use this macro or send the LVM_GETINSERTMARK message explicitly.

ListView_GetInsertMarkColor

Gets the color of the insertion point. You can use this macro or send the LVM_GETINSERTMARKCOLOR message explicitly.

ListView_GetInsertMarkRect

Gets the rectangle that bounds the insertion point. You can use this macro or send the LVM_GETINSERTMARKRECT message explicitly.

ListView_GetISearchString

Gets the incremental search string of a list-view control. You can use this macro or send the LVM_GETISEARCHSTRING message explicitly.

ListView_GetItem

Gets some or all of a list-view item's attributes. You can use this macro or send the LVM_GETITEM message explicitly.

ListView_GetItemCount

Gets the number of items in a list-view control. You can use this macro or send the LVM_GETITEMCOUNT message explicitly.

ListView_GetItemIndexRect

Gets the bounding rectangle for all or part of a subitem in the current view of a specified list-view control. Use this macro or send the LVM_GETITEMINDEXRECT message explicitly.

ListView_GetItemPosition

Gets the position of a list-view item. You can use this macro or explicitly send the LVM_GETITEMPOSITION message.

ListView_GetItemRect

Gets the bounding rectangle for all or part of an item in the current view. You can use this macro or send the LVM_GETITEMRECT message explicitly.

ListView_GetItemSpacing

Determines the spacing between items in a list-view control. You can use this macro or send the LVM_GETITEMSPACING message explicitly.

ListView_GetItemState

Gets the state of a list-view item. You can use this macro or send the LVM_GETITEMSTATE message explicitly.

ListView_GetItemText

Gets the text of a list-view item or subitem. You can use this macro or send the LVM_GETITEMTEXT message explicitly.

ListView_GetNextItem

Searches for a list-view item that has the specified properties and bears the specified relationship to a specified item. You can use this macro or send the LVM_GETNEXTITEM message explicitly.

ListView_GetNextItemIndex

Gets the index of the item in a particular list-view control that has the specified properties and relationship to another specific item. Use this macro or send the LVM_GETNEXTITEMINDEX message explicitly.

ListView_GetNumberOfWorkAreas

Gets the number of working areas in a list-view control. You can use this macro or send the LVM_GETNUMBEROFWORKAREAS message explicitly.

ListView_GetOrigin

Gets the current view origin for a list-view control. You can use this macro or send the LVM_GETORIGIN message explicitly.

ListView_GetOutlineColor

Gets the color of the border of a list-view control if the LVS_EX_BORDERSELECT extended window style is set. You can use this macro or send the LVM_GETOUTLINECOLOR message explicitly.

ListView_GetSelectedColumn

Gets an integer that specifies the selected column. You can use this macro or send the LVM_GETSELECTEDCOLUMN message explicitly.

ListView_GetSelectedCount

Determines the number of selected items in a list-view control. You can use this macro or send the LVM_GETSELECTEDCOUNT message explicitly.

ListView_GetSelectionMark

Gets the selection mark from a list-view control. You can use this macro or explicitly send the LVM_GETSELECTIONMARK message.

ListView_GetStringWidth

Determines the width of a specified string using the specified list-view control's current font. You can use this macro or send the LVM_GETSTRINGWIDTH message explicitly.

ListView_GetSubItemRect

Gets information about the rectangle that surrounds a subitem in a list-view control. You can use this macro (recommended) or send the LVM_GETSUBITEMRECT message explicitly. This macro is intended to be used only on list-view controls that use the LVS_REPORT style.

ListView_GetTextBkColor

Gets the text background color of a list-view control. You can use this macro or send the LVM_GETTEXTBKCOLOR message explicitly.

ListView_GetTextColor

Gets the text color of a list-view control. You can use this macro or send the LVM_GETTEXTCOLOR message explicitly.

ListView_GetTileInfo

Gets information about a tile in a list-view control. You can use this macro or send the LVM_GETTILEINFO message explicitly.

ListView_GetTileViewInfo

Gets information about a list-view control in tile view. You can use this macro or send the LVM_GETTILEVIEWINFO message explicitly.

ListView_GetToolTips

Gets the tooltip control that the list-view control uses to display tooltips. You can use this macro or send the LVM_GETTOOLTIPS message explicitly.

ListView_GetTopIndex

Gets the index of the topmost visible item when in list or report view. You can use this macro or send the LVM_GETTOPINDEX message explicitly.

ListView_GetUnicodeFormat

Gets the Unicode character format flag for the control. You can use this macro or send the LVM_GETUNICODEFORMAT message explicitly.

ListView_GetView

Gets the current view of a list-view control. You can use this macro or send the LVM_GETVIEW message explicitly.

ListView_GetViewRect

Gets the bounding rectangle of all items in the list-view control. The list view must be in icon or small icon view. You can use this macro or send the LVM_GETVIEWRECT message explicitly.

ListView_GetWorkAreas

Gets the working areas from a list-view control. You can use this macro, or send the LVM_GETWORKAREAS message explicitly.

ListView_HasGroup

Determines whether the list-view control has a specified group. You can use this macro or send the LVM_HASGROUP message explicitly.

ListView_HitTest

Determines which list-view item, if any, is at a specified position. You can use this macro or send the LVM_HITTEST message explicitly.

ListView_HitTestEx

Determines which list-view item, if any, is at a specified position. You can use this macro or send the LVM_HITTEST message explicitly.

ListView_InsertColumn

Inserts a new column in a list-view control. You can use this macro or send the LVM_INSERTCOLUMN message explicitly.

ListView_InsertGroup

Inserts a group into a list-view control. You can use this macro or send the LVM_INSERTGROUP message explicitly.

ListView_InsertGroupSorted

Inserts a group into an ordered list of groups. You can use this macro or send the LVM_INSERTGROUPSORTED message explicitly.

ListView_InsertItem

Inserts a new item in a list-view control. You can use this macro or send the LVM_INSERTITEM message explicitly.

ListView_InsertMarkHitTest

Retrieves the insertion point closest to a specified point. You can use this macro or send the LVM_INSERTMARKHITTEST message explicitly.

ListView_IsGroupViewEnabled

Checks whether the list-view control has group view enabled. You can use this macro or send the LVM_ISGROUPVIEWENABLED message explicitly.

ListView_IsItemVisible

Indicates whether an item in the list-view control is visible. Use this macro or send the LVM_ISITEMVISIBLE message explicitly.

ListView_MapIDToIndex

Maps the ID of an item to an index. You can use this macro or send the LVM_MAPIDTOINDEX message explicitly.

ListView_MapIndexToID

Maps the index of an item to a unique ID. You can use this macro or send the LVM_MAPINDEXTOID message explicitly.

ListView_MoveGroup

Not implemented.

ListView_MoveItemToGroup

Not implemented.

ListView_RedrawItems

Forces a list-view control to redraw a range of items. You can use this macro or send the LVM_REDRAWITEMS message explicitly.

ListView_RemoveAllGroups

Removes all groups from a list-view control. You can use this macro or send the LVM_REMOVEALLGROUPS message explicitly.

ListView_RemoveGroup

Removes a group from a list-view control. You can use this macro or send the LVM_REMOVEGROUP message explicitly.

ListView_Scroll

Scrolls the content of a list-view control. You can use this macro or send the LVM_SCROLL message explicitly.

ListView_SetBkColor

Sets the background color of a list-view control. You can use this macro or send the LVM_SETBKCOLOR message explicitly.

ListView_SetBkImage

Sets the background image in a list-view control. You can use this macro or send the LVM_SETBKIMAGE message explicitly.

ListView_SetCallbackMask

Changes the callback mask for a list-view control. You can use this macro or send the LVM_SETCALLBACKMASK message explicitly.

ListView_SetCheckState

Selects or deselects an item in a list-view control. You can use this macro or send the LVM_SETITEMSTATE message explicitly.

ListView_SetColumn

Sets the attributes of a list-view column. You can use this macro or send the LVM_SETCOLUMN message explicitly.

ListView_SetColumnOrderArray

Sets the left-to-right order of columns in a list-view control. You can use this macro or send the LVM_SETCOLUMNORDERARRAY message explicitly.

ListView_SetColumnWidth

Used to change the width of a column in report view or the width of all columns in list-view mode. You can use this macro or send the LVM_SETCOLUMNWIDTH message explicitly.

ListView_SetExtendedListViewStyle

Sets extended styles for list-view controls. You can use this macro or send the LVM_SETEXTENDEDLISTVIEWSTYLE message explicitly.

ListView_SetExtendedListViewStyleEx

Sets extended styles for list-view controls using the style mask. You can use this macro or send the LVM_SETEXTENDEDLISTVIEWSTYLE message explicitly.

ListView_SetGroupHeaderImageList

Assigns an image list to the group header of a list-view control.

ListView_SetGroupInfo

Sets group information. You can use this macro or send the LVM_SETGROUPINFO message explicitly.

ListView_SetGroupMetrics

Sets information about the display of groups. You can use this macro or send the LVM_SETGROUPMETRICS message explicitly.

ListView_SetGroupState

Sets the state for a specified group.

ListView_SetHotCursor

Sets the HCURSOR that the list-view control uses when the pointer is over an item while hot tracking is enabled. You can use this macro or send the LVM_SETHOTCURSOR message explicitly. To check whether hot tracking is enabled, call SystemParametersInfo.

ListView_SetHotItem

Sets the hot item in a list-view control. You can use this macro or send the LVM_SETHOTITEM message explicitly.

ListView_SetHoverTime

Sets the amount of time that the mouse cursor must hover over an item before it is selected. You can use this macro or send the LVM_SETHOVERTIME message explicitly.

ListView_SetIconSpacing

Sets the spacing between icons in list-view controls set to the LVS_ICON style. You can use this macro or send the LVM_SETICONSPACING message explicitly.

ListView_SetImageList

Assigns an image list to a list-view control. You can use this macro or send the LVM_SETIMAGELIST message explicitly.

ListView_SetInfoTip

Sets tooltip text. You can use this macro or send the LVM_SETINFOTIP message explicitly.

ListView_SetInsertMark

Sets the insertion point to the defined position. You can use this macro or send the LVM_SETINSERTMARK message explicitly.

ListView_SetInsertMarkColor

Sets the color of the insertion point. You can use this macro or send the LVM_SETINSERTMARKCOLOR message explicitly.

ListView_SetItem

Sets some or all of a list-view item's attributes. You can also use ListView_SetItem to set the text of a subitem. You can use this macro or send the LVM_SETITEM message explicitly.

ListView_SetItemCount

Causes the list-view control to allocate memory for the specified number of items. You can use this macro or send the LVM_SETITEMCOUNT message explicitly.

ListView_SetItemCountEx

Sets the virtual number of items in a virtual list view. You can use this macro or send the LVM_SETITEMCOUNT message explicitly.

ListView_SetItemIndexState

Sets the state of a specified list-view item. Use this macro or send the LVM_SETITEMINDEXSTATE message explicitly.

ListView_SetItemPosition

Moves an item to a specified position in a list-view control (in icon or small icon view). You can use this macro or send the LVM_SETITEMPOSITION message explicitly.

ListView_SetItemPosition32

Moves an item to a specified position in a list-view control (in icon or small icon view). This macro differs from the ListView_SetItemPosition macro in that it uses 32-bit coordinates. You can use the ListView_SetItemPosition32 macro or send the LVM_SETITEMPOSITION32 message explicitly.

ListView_SetItemState

Changes the state of an item in a list-view control. You can use this macro or send the LVM_SETITEMSTATE message explicitly.

ListView_SetItemText

Changes the text of a list-view item or subitem. You can use this macro or send the LVM_SETITEMTEXT message explicitly.

ListView_SetOutlineColor

Sets the color of the border of a list-view control if the LVS_EX_BORDERSELECT extended window style is set. You can use this macro or send the LVM_SETOUTLINECOLOR message explicitly.

ListView_SetSelectedColumn

Sets the index of the selected column. You can use this macro or send the LVM_SETSELECTEDCOLUMN message explicitly.

ListView_SetSelectionMark

Sets the selection mark in a list-view control. You can use this macro or send the LVM_SETSELECTIONMARK message explicitly.

ListView_SetTextBkColor

Sets the background color of text in a list-view control. You can use this macro or send the LVM_SETTEXTBKCOLOR message explicitly.

ListView_SetTextColor

Sets the text color of a list-view control. You can use this macro or send the LVM_SETTEXTCOLOR message explicitly.

ListView_SetTileInfo

Sets information for an existing tile of a list-view control. You can use this macro or send the LVM_SETTILEINFO message explicitly.

ListView_SetTileViewInfo

Sets information that a list-view control uses in tile view. You can use this macro or send the LVM_SETTILEVIEWINFO message explicitly.

ListView_SetToolTips

Sets the tooltip control that the list-view control will use to display tooltips. You can use this macro or send the LVM_SETTOOLTIPS message explicitly.

ListView_SetUnicodeFormat

Sets the Unicode character format flag for the control. This message allows you to change the character set used by the control at run time rather than having to re-create the control. You can use this macro or send the LVM_SETUNICODEFORMAT message explicitly.

ListView_SetView

Sets the view of a list-view control. You can use this macro or send the LVM_SETVIEW message explicitly.

ListView_SetWorkAreas

Sets the working areas within a list-view control. You can use this macro or send the LVM_SETWORKAREAS message explicitly.

ListView_SortGroups

Uses an application-defined comparison function to sort groups by ID within a list-view control. You can use this macro or send the LVM_SORTGROUPS message explicitly.

ListView_SortItems

Uses an application-defined comparison function to sort the items of a list-view control. The index of each item changes to reflect the new sequence. You can use this macro or send the LVM_SORTITEMS message explicitly.

ListView_SortItemsEx

Uses an application-defined comparison function to sort the items of a list-view control. The index of each item changes to reflect the new sequence. You can use this macro or send the LVM_SORTITEMSEX message explicitly.

ListView_SubItemHitTest

Determines which list-view item or subitem is located at a given position. You can use this macro or send the LVM_SUBITEMHITTEST message explicitly.

ListView_SubItemHitTestEx

Determines which list-view item or subitem is located at a given position. You can use this macro or send the LVM_SUBITEMHITTEST message explicitly.

ListView_Update

Updates a list-view item. If the list-view control has the LVS_AUTOARRANGE style, this macro causes the list-view control to be arranged. You can use this macro or send the LVM_UPDATE message explicitly.

 

Messages

TopicContents
LVM_APPROXIMATEVIEWRECT

Calculates the approximate width and height required to display a given number of items. You can send this message explicitly or use the ListView_ApproximateViewRect macro.

LVM_ARRANGE

Arranges items in icon view. You can send this message explicitly or by using the ListView_Arrange macro.

LVM_CANCELEDITLABEL

Cancels an item text editing operation.

LVM_CREATEDRAGIMAGE

Creates a drag image list for the specified item. You can send this message explicitly or by using the ListView_CreateDragImage macro.

LVM_DELETEALLITEMS

Removes all items from a list-view control. You can send this message explicitly or by using the ListView_DeleteAllItems macro.

LVM_DELETECOLUMN

Removes a column from a list-view control. You can send this message explicitly or by using the ListView_DeleteColumn macro.

LVM_DELETEITEM

Removes an item from a list-view control. You can send this message explicitly or by using the ListView_DeleteItem macro.

LVM_EDITLABEL

Begins in-place editing of the specified list-view item's text. The message implicitly selects and focuses the specified item. You can send this message explicitly or by using the ListView_EditLabel macro.

LVM_ENABLEGROUPVIEW

Enables or disables whether the items in a list-view control display as a group.

LVM_ENSUREVISIBLE

Ensures that a list-view item is either entirely or partially visible, scrolling the list-view control if necessary. You can send this message explicitly or by using the ListView_EnsureVisible macro.

LVM_FINDITEM

Searches for a list-view item with the specified characteristics. You can send this message explicitly or by using the ListView_FindItem macro.

LVM_GETBKCOLOR

Gets the background color of a list-view control. You can send this message explicitly or by using the ListView_GetBkColor macro.

LVM_GETBKIMAGE

Gets the background image in a list-view control. You can send this message explicitly or by using the ListView_GetBkImage macro.

LVM_GETCALLBACKMASK

Gets the callback mask for a list-view control. You can send this message explicitly or by using the ListView_GetCallbackMask macro.

LVM_GETCOLUMN

Gets the attributes of a list-view control's column. You can send this message explicitly or by using the ListView_GetColumn macro.

LVM_GETCOLUMNORDERARRAY

Gets the current left-to-right order of columns in a list-view control. You can send this message explicitly or use the ListView_GetColumnOrderArray macro.

LVM_GETCOLUMNWIDTH

Gets the width of a column in report or list view. You can send this message explicitly or by using the ListView_GetColumnWidth macro.

LVM_GETCOUNTPERPAGE

Calculates the number of items that can fit vertically in the visible area of a list-view control when in list or report view. Only fully visible items are counted. You can send this message explicitly or by using the ListView_GetCountPerPage macro.

LVM_GETEDITCONTROL

Gets the handle to the edit control being used to edit a list-view item's text. You can send this message explicitly or by using the ListView_GetEditControl macro.

LVM_GETEMPTYTEXT

Gets the text meant for display when the list-view control appears empty. Send this message explicitly or by using the ListView_GetEmptyText macro.

LVM_GETEXTENDEDLISTVIEWSTYLE

Gets the extended styles that are currently in use for a given list-view control. You can send this message explicitly or use the ListView_GetExtendedListViewStyle macro.

LVM_GETFOCUSEDGROUP

Gets the group that has the focus. Send this message explicitly or by using the ListView_GetFocusedGroup macro.

LVM_GETFOOTERINFO

Gets information about the footer of a list-view control. Send this message explicitly or by using the ListView_GetFooterInfo macro.

LVM_GETFOOTERITEM

Gets information on a footer item in a list-view control. Send this message explicitly or by using the ListView_GetFooterItem macro.

LVM_GETFOOTERITEMRECT

Gets the coordinates of a footer for a specified item in a list-view control. Send this message explicitly or by using the ListView_GetFooterItemRect macro.

LVM_GETFOOTERRECT

Retrieves the coordinates of the footer for a list-view control. Send this message explicitly or by using the ListView_GetFooterRect macro.

LVM_GETGROUPCOUNT

Gets the number of groups.

LVM_GETGROUPINFO

Gets group information.

LVM_GETGROUPINFOBYINDEX

Gets information on a specified group. Send this message explicitly or by using the ListView_GetGroupInfoByIndex macro.

LVM_GETGROUPMETRICS

Gets information about the display of groups.

LVM_GETGROUPRECT

Gets the rectangle for a specified group. Send this message explicitly or by using the ListView_GetGroupRect macro.

LVM_GETGROUPSTATE

Gets the state for a specified group. Send this message explicitly or by using the ListView_GetGroupState macro.

LVM_GETHEADER

Gets the handle to the header control used by the list-view control. You can send this message explicitly or use the ListView_GetHeader macro.

LVM_GETHOTCURSOR

Retrieves the HCURSOR value used when the pointer is over an item while hot tracking is enabled. You can send this message explicitly or use the ListView_GetHotCursor macro.

LVM_GETHOTITEM

Retrieves the index of the hot item. You can send this message explicitly or use the ListView_GetHotItem macro.

LVM_GETHOVERTIME

Retrieves the amount of time that the mouse cursor must hover over an item before it is selected. You can send this message explicitly or use the ListView_GetHoverTime macro.

LVM_GETIMAGELIST

Retrieves the handle to an image list used for drawing list-view items. You can send this message explicitly or by using the ListView_GetImageList macro.

LVM_GETINSERTMARK

Retrieves the position of the insertion point.

LVM_GETINSERTMARKCOLOR

Retrieves the color of the insertion point.

LVM_GETINSERTMARKRECT

Retrieves the rectangle that bounds the insertion point.

LVM_GETISEARCHSTRING

Retrieves the incremental search string of a list-view control. You can send this message explicitly or by using the ListView_GetISearchString macro.

LVM_GETITEM

Retrieves some or all of a list-view item's attributes. You can send this message explicitly or by using the ListView_GetItem macro.

LVM_GETITEMCOUNT

Retrieves the number of items in a list-view control. You can send this message explicitly or by using the ListView_GetItemCount macro.

LVM_GETITEMINDEXRECT

Retrieves the bounding rectangle for all or part of a subitem in the current view of a list-view control. Send this message explicitly or by using the ListView_GetItemIndexRect macro.

LVM_GETITEMPOSITION

Retrieves the position of a list-view item. You can send this message explicitly or by using the ListView_GetItemPosition macro.

LVM_GETITEMRECT

Retrieves the bounding rectangle for all or part of an item in the current view. You can send this message explicitly or by using the ListView_GetItemRect macro.

LVM_GETITEMSPACING

Determines the spacing between items in a list-view control. You can send this message explicitly or by using the ListView_GetItemSpacing macro.

LVM_GETITEMSTATE

Retrieves the state of a list-view item. You can send this message explicitly or by using the ListView_GetItemState macro.

LVM_GETITEMTEXT

Retrieves the text of a list-view item or subitem. You can send this message explicitly or by using the ListView_GetItemText macro.

LVM_GETNEXTITEM

Searches for a list-view item that has the specified properties and bears the specified relationship to a specified item. You can send this message explicitly or by using the ListView_GetNextItem macro.

LVM_GETNEXTITEMINDEX

Retrieves the index of an item in a specified list-view control that matches the specified properties and relationship to another item. Send this message explicitly or by using the ListView_GetNextItemIndex macro.

LVM_GETNUMBEROFWORKAREAS

Retrieves the number of working areas in a list-view control. You can send this message explicitly or use the ListView_GetNumberOfWorkAreas macro.

LVM_GETORIGIN

Retrieves the current view origin for a list-view control. You can send this message explicitly or by using the ListView_GetOrigin macro.

LVM_GETOUTLINECOLOR

Retrieves the color of the border of a list-view control if the LVS_EX_BORDERSELECT extended window style is set.

LVM_GETSELECTEDCOLUMN

Retrieves an integer that specifies the selected column.

LVM_GETSELECTEDCOUNT

Determines the number of selected items in a list-view control. You can send this message explicitly or by using the ListView_GetSelectedCount macro.

LVM_GETSELECTIONMARK

Retrieves the selection mark from a list-view control. You can send this message explicitly or use the ListView_GetSelectionMark macro.

LVM_GETSTRINGWIDTH

Determines the width of a specified string using the specified list-view control's current font. You can send this message explicitly or by using the ListView_GetStringWidth macro.

LVM_GETSUBITEMRECT

Retrieves information about the bounding rectangle for a subitem in a list-view control. You can send this message explicitly or by using the ListView_GetSubItemRect macro (recommended). This message is intended to be used only with list-view controls that use the LVS_REPORT style.

LVM_GETTEXTBKCOLOR

Retrieves the text background color of a list-view control. You can send this message explicitly or by using the ListView_GetTextBkColor macro.

LVM_GETTEXTCOLOR

Retrieves the text color of a list-view control. You can send this message explicitly or by using the ListView_GetTextColor macro.

LVM_GETTILEINFO

Retrieves information about a tile in a list-view control.

LVM_GETTILEVIEWINFO

Retrieves information about a list-view control in tile view.

LVM_GETTOOLTIPS

Retrieves the tooltip control that the list-view control uses to display tooltips. You can send this message explicitly or use the ListView_GetToolTips macro.

LVM_GETTOPINDEX

Retrieves the index of the topmost visible item when in list or report view. You can send this message explicitly or by using the ListView_GetTopIndex macro.

LVM_GETUNICODEFORMAT

Retrieves the UNICODE character format flag for the control. You can send this message explicitly or use the ListView_GetUnicodeFormat macro.

LVM_GETVIEW

Retrieves the current view of a list-view control.

LVM_GETVIEWRECT

Retrieves the bounding rectangle of all items in the list-view control. The list view must be in icon or small icon view. You can send this message explicitly or by using the ListView_GetViewRect macro.

LVM_GETWORKAREAS

Retrieves the working areas from a list-view control. You can send this message explicitly or use the ListView_GetWorkAreas macro.

LVM_HASGROUP

Determines whether the list-view control has a specified group.

LVM_HITTEST

Determines which list-view item, if any, is at a specified position. You can send this message explicitly or by using the ListView_HitTest macro.

LVM_INSERTCOLUMN

Inserts a new column in a list-view control. You can send this message explicitly or by using the ListView_InsertColumn macro.

LVM_INSERTGROUP

Inserts a group into a list-view control.

LVM_INSERTGROUPSORTED

Inserts a group into an ordered list of groups.

LVM_INSERTITEM

Inserts a new item in a list-view control. You can send this message explicitly or by using the ListView_InsertItem macro.

LVM_INSERTMARKHITTEST

Retrieves the insertion point closest to a specified point.

LVM_ISGROUPVIEWENABLED

Checks whether the list-view control has group view enabled.

LVM_ISITEMVISIBLE

Indicates if an item in the list-view control is visible. Send this message explicitly or by using the ListView_IsItemVisible macro.

LVM_MAPIDTOINDEX

Maps the ID of an item to an index.

LVM_MAPINDEXTOID

Maps the index of an item to a unique ID.

LVM_MOVEGROUP

Not implemented.

LVM_MOVEITEMTOGROUP

Not implemented.

LVM_REDRAWITEMS

Forces a list-view control to redraw a range of items. You can send this message explicitly or by using the ListView_RedrawItems macro.

LVM_REMOVEALLGROUPS

Removes all groups from a list-view control.

LVM_REMOVEGROUP

Removes a group from a list-view control.

LVM_SCROLL

Scrolls the content of a list-view control. You can send this message explicitly or by using the ListView_Scroll macro.

LVM_SETBKCOLOR

Sets the background color of a list-view control. You can send this message explicitly or by using the ListView_SetBkColor macro.

LVM_SETBKIMAGE

Sets the background image in a list-view control. You can send this message explicitly or by using the ListView_SetBkImage macro.

LVM_SETCALLBACKMASK

Changes the callback mask for a list-view control. You can send this message explicitly or by using the ListView_SetCallbackMask macro.

LVM_SETCOLUMN

Sets the attributes of a list-view column. You can send this message explicitly or by using the ListView_SetColumn macro.

LVM_SETCOLUMNORDERARRAY

Sets the left-to-right order of columns in a list-view control. You can send this message explicitly or use the ListView_SetColumnOrderArray macro.

LVM_SETCOLUMNWIDTH

Changes the width of a column in report-view mode or the width of all columns in list-view mode. You can send this message explicitly or use the ListView_SetColumnWidth macro.

LVM_SETEXTENDEDLISTVIEWSTYLE

Sets extended styles in list-view controls. You can send this message explicitly or use the ListView_SetExtendedListViewStyle or ListView_SetExtendedListViewStyleEx macro.

LVM_SETGROUPINFO

Sets group information.

LVM_SETGROUPMETRICS

Sets information about the display of groups.

LVM_SETHOTCURSOR

Sets the HCURSOR value that the list-view control uses when the pointer is over an item while hot tracking is enabled. You can send this message explicitly or use the ListView_SetHotCursor macro. To check whether hot tracking is enabled, call SystemParametersInfo.

LVM_SETHOTITEM

Sets the hot item for a list-view control. You can send this message explicitly or use the ListView_SetHotItem macro.

LVM_SETHOVERTIME

Sets the amount of time which the mouse cursor must hover over an item before it is selected. You can send this message explicitly or use the ListView_SetHoverTime macro.

LVM_SETICONSPACING

Sets the spacing between icons in list-view controls that have the LVS_ICON style. You can send this message explicitly or by using the ListView_SetIconSpacing macro.

LVM_SETIMAGELIST

Assigns an image list to a list-view control. You can send this message explicitly or by using the ListView_SetImageList macro.

LVM_SETINFOTIP

Sets tooltip text.

LVM_SETINSERTMARK

Sets the insertion point to the defined position.

LVM_SETINSERTMARKCOLOR

Sets the color of the insertion point.

LVM_SETITEM

Sets some or all of a list-view item's attributes. You can also send LVM_SETITEM to set the text of a subitem. You can send this message explicitly or by using the ListView_SetItem macro.

LVM_SETITEMCOUNT

Causes the list-view control to allocate memory for the specified number of items or sets the virtual number of items in a virtual list-view control. This depends on how the list-view control was created. You can send this message explicitly or use the ListView_SetItemCount or ListView_SetItemCountEx macros.

LVM_SETITEMINDEXSTATE

Sets the state of a list-view item. Send this message explicitly or by using the ListView_SetItemIndexState macro.

LVM_SETITEMPOSITION

Moves an item to a specified position in a list-view control (must be in icon or small icon view). You can send this message explicitly or by using the ListView_SetItemPosition macro.

LVM_SETITEMPOSITION32

Moves an item to a specified position in a list-view control (must be in icon or small icon view). This message differs from the LVM_SETITEMPOSITION message in that it uses 32-bit coordinates. You can send this message explicitly or by using the ListView_SetItemPosition32 macro.

LVM_SETITEMSTATE

Changes the state of an item in a list-view control. You can send this message explicitly or by using the ListView_SetItemState macro.

LVM_SETITEMTEXT

Changes the text of a list-view item or subitem. You can send this message explicitly or by using the ListView_SetItemText macro.

LVM_SETOUTLINECOLOR

Sets the color of the border of a list-view control if the LVS_EX_BORDERSELECT extended window style is set.

LVM_SETSELECTEDCOLUMN

Sets the index of the selected column.

LVM_SETSELECTIONMARK

Sets the selection mark in a list-view control. You can send this message explicitly or use the ListView_SetSelectionMark macro.

LVM_SETTEXTBKCOLOR

Sets the background color of text in a list-view control. You can send this message explicitly or by using the ListView_SetTextBkColor macro.

LVM_SETTEXTCOLOR

Sets the text color of a list-view control. You can send this message explicitly or by using the ListView_SetTextColor macro.

LVM_SETTILEINFO

Sets information for an existing tile of a list-view control.

LVM_SETTILEVIEWINFO

Sets information that a list-view control uses in tile view.

LVM_SETTILEWIDTH

Not currently supported.

LVM_SETTOOLTIPS

Sets the tooltip control that the list-view control will use to display tooltips. You can send this message explicitly or use the ListView_SetToolTips macro.

LVM_SETUNICODEFORMAT

Sets the UNICODE character format flag for the control. This message allows you to change the character set used by the control at run time rather than having to re-create the control. You can send this message explicitly or use the ListView_SetUnicodeFormat macro.

LVM_SETVIEW

Sets the view of a list-view control.

LVM_SETWORKAREAS

Sets the working areas within a list-view control. You can send this message explicitly or use the ListView_SetWorkAreas macro.

LVM_SORTGROUPS

Uses an application-defined comparison function to sort groups by ID within a list-view control.

LVM_SORTITEMS

Uses an application-defined comparison function to sort the items of a list-view control. The index of each item changes to reflect the new sequence. You can send this message explicitly or by using the ListView_SortItems macro.

LVM_SORTITEMSEX

Uses an application-defined comparison function to sort the items of a list-view control. The index of each item changes to reflect the new sequence. You can send this message explicitly or by using the ListView_SortItemsEx macro.

LVM_SUBITEMHITTEST

Determines which list-view item or subitem is at a given position. You can send this message explicitly or by using the ListView_SubItemHitTest macro.

LVM_UPDATE

Updates a list-view item. If the list-view control has the LVS_AUTOARRANGE style, this macro causes the list-view control to be arranged. You can send this message explicitly or by using the ListView_Update macro.

 

Notifications

TopicContents
LVN_BEGINDRAG

Notifies a list-view control's parent window that a drag-and-drop operation involving the left mouse button is being initiated. This notification code is sent in the form of a WM_NOTIFY message.

LVN_BEGINLABELEDIT

Notifies a list-view control's parent window about the start of label editing for an item. This notification code is sent in the form of a WM_NOTIFY message.

LVN_BEGINRDRAG

Notifies a list-view control's parent window that a drag-and-drop operation involving the right mouse button is being initiated. This notification code is sent in the form of a WM_NOTIFY message.

LVN_BEGINSCROLL

Notifies a list-view control's parent window when a scrolling operation starts.

LVN_COLUMNCLICK

Notifies a list-view control's parent window that a column was clicked. This notification code is sent in the form of a WM_NOTIFY message.

LVN_COLUMNDROPDOWN

Sent by a list-view control when the list-view's drop-down button is pressed. This notification code is sent in the form of a WM_NOTIFY message.

LVN_COLUMNOVERFLOWCLICK

Sent by a list-view control when its overflow button is clicked. This notification code is sent in the form of a WM_NOTIFY message.

LVN_DELETEALLITEMS

Notifies a list-view control's parent window that all items in the control are about to be deleted. This notification code is sent in the form of a WM_NOTIFY message.

LVN_DELETEITEM

Notifies a list-view control's parent window that an item is about to be deleted. This notification code is sent in the form of a WM_NOTIFY message.

LVN_ENDLABELEDIT

Notifies a list-view control's parent window about the end of label editing for an item. This notification code is sent in the form of a WM_NOTIFY message.

LVN_ENDSCROLL

Notifies a list-view control's parent window when a scrolling operation ends.

LVN_GETDISPINFO

Sent by a list-view control to its parent window. It is a request for the parent window to provide information needed to display or sort a list-view item. This notification code is sent in the form of a WM_NOTIFY message.

LVN_GETEMPTYMARKUP

Sent by list-view control to its parent window when the control has no items. This notification code is sent in the form of a WM_NOTIFY message. The LVN_GETEMPTYMARKUP notification code is a request for the parent window to provide markup text.

LVN_GETINFOTIP

Sent by a large icon view list-view control that has the LVS_EX_INFOTIP extended style. This notification is sent when the list-view control is requesting additional text information to be displayed in a tooltip. It is sent in the form of a WM_NOTIFY message.

LVN_HOTTRACK

Sent by a list-view control when the user moves the mouse over an item. This notification is only sent by list-view controls that have the LVS_EX_TRACKSELECT extended list-view style. It is sent in the form of a WM_NOTIFY message.

LVN_INCREMENTALSEARCH

Notifies a list-view control's parent window that an incremental search has started. This notification code is sent in the form of a WM_NOTIFY message.

LVN_INSERTITEM

Notifies a list-view control's parent window that a new item was inserted. This notification code is sent in the form of a WM_NOTIFY message.

LVN_ITEMACTIVATE

Sent by a list-view control when the user activates an item. This notification is sent in the form of a WM_NOTIFY message.

LVN_ITEMCHANGED

Notifies a list-view control's parent window that an item has changed. This notification code is sent in the form of a WM_NOTIFY message.

LVN_ITEMCHANGING

Notifies a list-view control's parent window that an item is changing. This notification code is sent in the form of a WM_NOTIFY message.

LVN_KEYDOWN

Notifies a list-view control's parent window that a key has been pressed. This notification code is sent in the form of a WM_NOTIFY message.

LVN_LINKCLICK

Notifies a list-view control's parent window that a link has been clicked on. This notification is sent in the form of a WM_NOTIFY message.

LVN_MARQUEEBEGIN

Notifies a list-view control's parent window that a bounding box (marquee) selection has begun. This notification code is sent in the form of a WM_NOTIFY message.

LVN_ODCACHEHINT

Sent by a virtual list-view control when the contents of its display area have changed. For example, a list-view control sends this notification when the user scrolls the control's display. The LVN_ODCACHEHINT notification code is sent in the form of a WM_NOTIFY message.

LVN_ODFINDITEM

Sent by a virtual list-view control when it needs the owner to find a particular callback item. For example, the control will send this notification when it receives shortcut keyboard input or when it receives an LVM_FINDITEM message.

LVN_ODSTATECHANGED

Sent by a list-view control when the state of an item or range of items has changed. This notification is sent in the form of a WM_NOTIFY message.

LVN_SETDISPINFO

Notifies a list-view control's parent window that it must update the information it maintains for an item. This notification code is sent in the form of a WM_NOTIFY message.

NM_CLICK (list view)

Sent by a list-view control when the user clicks an item with the left mouse button. This notification code is sent in the form of a WM_NOTIFY message.

NM_CUSTOMDRAW (list view)

Sent by a list-view control to notify its parent windows about drawing operations. This notification is sent in the form of a WM_NOTIFY message.

NM_DBLCLK (list view)

Sent by a list-view control when the user double-clicks an item with the left mouse button. This notification code is sent in the form of a WM_NOTIFY message.

NM_HOVER (list view)

Sent by a list-view control when the mouse hovers over an item. This notification code is sent in the form of a WM_NOTIFY message.

NM_KILLFOCUS (list view)

Notifies a list-view control's parent window that the control has lost the input focus. NM_KILLFOCUS (list view) is sent in the form of a WM_NOTIFY message.

NM_RCLICK (list view)

Sent by a list-view control when the user clicks an item with the right mouse button. This notification code is sent in the form of a WM_NOTIFY message.

NM_RDBLCLK (list view)

Sent by a list-view control when the user double-clicks an item with the right mouse button. This notification code is sent in the form of a WM_NOTIFY message.

NM_RELEASEDCAPTURE (list view)

Notifies a list-view control's parent window that the control is releasing mouse capture. This notification is sent in the form of a WM_NOTIFY message.

NM_RETURN (list view)

Notifies a list-view control's parent window that the control has the input focus and that the user has pressed the ENTER key. NM_RETURN is sent in the form of a WM_NOTIFY message.

NM_SETFOCUS (list view)

Notifies a list-view control's parent window that the control has received the input focus. NM_SETFOCUS (list view) is sent in the form of a WM_NOTIFY message.

 

Structures

TopicContents
LVBKIMAGE

Contains information about the background image of a list-view control. This structure is used for both setting and retrieving background image information.

LVCOLUMN

Contains information about a column in report view. This structure is used both for creating and manipulating columns. This structure supersedes the LV_COLUMN structure.

LVFINDINFO

Contains information used when searching for a list-view item. This structure is identical to LV_FINDINFO but has been renamed to fit standard naming conventions.

LVFOOTERINFO

Contains information on a footer in a list-view control.

LVFOOTERITEM

Contains information on a footer item.

LVGROUP

Used to set and retrieve groups.

LVGROUPMETRICS

Contains information about the display of groups in a list-view control.

LVHITTESTINFO

Contains information about a hit test. This structure has been extended to accommodate subitem hit-testing. It is used in association with the LVM_HITTEST and LVM_SUBITEMHITTEST messages and their related macros. This structure supersedes the LVHITTESTINFO structure.

LVINSERTGROUPSORTED

Used to sort groups. It is used with LVM_INSERTGROUPSORTED.

LVINSERTMARK

Used to describe insertion points.

LVITEM

Specifies or receives the attributes of a list-view item. This structure has been updated to support a new mask value (LVIF_INDENT) that enables item indenting. This structure supersedes the LV_ITEM structure.

LVITEMINDEX

Contains index information about a list-view item.

LVSETINFOTIP

Provides information about tooltip text that is to be set.

LVTILEINFO

Provides information about an item in a list-view control when it is displayed in tile view.

LVTILEVIEWINFO

Provides information about a list-view control when it is displayed in tile view.

NMITEMACTIVATE

Contains information about an LVN_ITEMACTIVATE notification code.

NMLISTVIEW

Contains information about a list-view notification code. This structure is the same as the NM_LISTVIEW structure but has been renamed to fit standard naming conventions.

NMLVCACHEHINT

Contains information used to update the cached item information for use with a virtual list view.

NMLVCUSTOMDRAW

Contains information specific to an NM_CUSTOMDRAW (list view) notification code sent by a list-view control.

NMLVDISPINFO

Contains information about an LVN_GETDISPINFO or LVN_SETDISPINFO notification code. This structure is the same as the LV_DISPINFO structure, but has been renamed to fit standard naming conventions.

NMLVEMPTYMARKUP

Sent on a LVN_GETEMPTYMARKUP notification.

NMLVFINDITEM

Contains information the owner needs to find items requested by a virtual list view control. This structure is used with the LVN_ODFINDITEM notification code.

NMLVGETINFOTIP

Contains and receives list-view item information needed to display a tooltip for an item. This structure is used with the LVN_GETINFOTIP notification code.

NMLVKEYDOWN

Contains information used in processing the LVN_KEYDOWN notification code. This structure is the same as the NMLVKEYDOWN structure but has been renamed to fit standard naming conventions.

NMLVLINK

Contains information about an LVN_LINKCLICK notification.

NMLVODSTATECHANGE

Structure that contains information for use in processing the LVN_ODSTATECHANGED notification code.

NMLVSCROLL

Provides information about a scrolling operation.

 

Constants

TopicContents
Extended List-View Styles

Use the LVM_SETEXTENDEDLISTVIEWSTYLE message or one of the ListView_SetExtendedListViewStyle or ListView_SetExtendedListViewStyleEx macros to employ these extended list-view control styles.

List-View Item States

An item's state value consists of the item's state, an optional overlay mask index, and an optional state image mask index.

An item's state determines its appearance and functionality. The state can be zero or one or more of the following values:

List-View Window Styles

The following window styles are specific to list-view controls.

 

 

 

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.