    indexing
    	description: "ListView Control Constants."
    	legal: "See notice at end of class."
    	status: "See notice at end of class."
    	date: "$Date: 2006-03-22 23:29:03 -0800 (Wed, 22 Mar 2006) $"
    	revision: "$Revision: 57641 $"

    class interface
    	WEL_LIST_VIEW_CONSTANTS

    create
    	default_create
    			-- Process instances of classes with no creation clause.
    			-- (Default: do nothing.)
    			-- (from ANY)

    feature -- Access

    	generating_type: STRING_8
    			-- Name of current object's generating type
    			-- (type of which it is a direct instance)
    			-- (from ANY)

    	generator: STRING_8
    			-- Name of current object's generating class
    			-- (base class of the type of which it is a direct instance)
    			-- (from ANY)

    feature -- Comparison

    	frozen deep_equal (some: ANY; other: like arg #1): BOOLEAN
    			-- Are `some' and `other' either both void
    			-- or attached to isomorphic object structures?
    			-- (from ANY)
    		ensure -- from ANY
    			shallow_implies_deep: standard_equal (some, other) implies Result
    			both_or_none_void: (some = Void) implies (Result = (other = Void))
    			same_type: (Result and (some /= Void)) implies some.same_type (other)
    			symmetric: Result implies deep_equal (other, some)

    	frozen equal (some: ANY; other: like arg #1): BOOLEAN
    			-- Are `some' and `other' either both void or attached
    			-- to objects considered equal?
    			-- (from ANY)
    		ensure -- from ANY
    			definition: Result = (some = Void and other = Void) or else ((some /= Void and other /= Void) and then some.is_equal (other))

    	is_equal (other: like Current): BOOLEAN
    			-- Is `other' attached to an object considered
    			-- equal to current object?
    			-- (from ANY)
    		require -- from ANY
    			other_not_void: other /= Void
    		ensure -- from ANY
    			symmetric: Result implies other.is_equal (Current)
    			consistent: standard_is_equal (other) implies Result

    	frozen standard_equal (some: ANY; other: like arg #1): BOOLEAN
    			-- Are `some' and `other' either both void or attached to
    			-- field-by-field identical objects of the same type?
    			-- Always uses default object comparison criterion.
    			-- (from ANY)
    		ensure -- from ANY
    			definition: Result = (some = Void and other = Void) or else ((some /= Void and other /= Void) and then some.standard_is_equal (other))

    	frozen standard_is_equal (other: like Current): BOOLEAN
    			-- Is `other' attached to an object of the same type
    			-- as current object, and field-by-field identical to it?
    			-- (from ANY)
    		require -- from ANY
    			other_not_void: other /= Void
    		ensure -- from ANY
    			same_type: Result implies same_type (other)
    			symmetric: Result implies other.standard_is_equal (Current)

    feature -- Status report

    	conforms_to (other: ANY): BOOLEAN
    			-- Does type of current object conform to type
    			-- of `other' (as per Eiffel: The Language, chapter 13)?
    			-- (from ANY)
    		require -- from ANY
    			other_not_void: other /= Void

    	same_type (other: ANY): BOOLEAN
    			-- Is type of current object identical to type of `other'?
    			-- (from ANY)
    		require -- from ANY
    			other_not_void: other /= Void
    		ensure -- from ANY
    			definition: Result = (conforms_to (other) and other.conforms_to (Current))

    feature -- Duplication

    	copy (other: like Current)
    			-- Update current object using fields of object attached
    			-- to `other', so as to yield equal objects.
    			-- (from ANY)
    		require -- from ANY
    			other_not_void: other /= Void
    			type_identity: same_type (other)
    		ensure -- from ANY
    			is_equal: is_equal (other)

    	frozen deep_copy (other: like Current)
    			-- Effect equivalent to that of:
    			--		copy (`other' . deep_twin)
    			-- (from ANY)
    		require -- from ANY
    			other_not_void: other /= Void
    		ensure -- from ANY
    			deep_equal: deep_equal (Current, other)

    	frozen deep_twin: like Current
    			-- New object structure recursively duplicated from Current.
    			-- (from ANY)
    		ensure -- from ANY
    			deep_equal: deep_equal (Current, Result)

    	frozen standard_copy (other: like Current)
    			-- Copy every field of `other' onto corresponding field
    			-- of current object.
    			-- (from ANY)
    		require -- from ANY
    			other_not_void: other /= Void
    			type_identity: same_type (other)
    		ensure -- from ANY
    			is_standard_equal: standard_is_equal (other)

    	frozen standard_twin: like Current
    			-- New object field-by-field identical to `other'.
    			-- Always uses default copying semantics.
    			-- (from ANY)
    		ensure -- from ANY
    			standard_twin_not_void: Result /= Void
    			equal: standard_equal (Result, Current)

    	frozen twin: like Current
    			-- New object equal to `Current'
    			-- twin calls copy; to change copying/twining semantics, redefine copy.
    			-- (from ANY)
    		ensure -- from ANY
    			twin_not_void: Result /= Void
    			is_equal: Result.is_equal (Current)

    feature -- Basic operations

    	frozen default: like Current
    			-- Default value of object's type
    			-- (from ANY)

    	frozen default_pointer: POINTER
    			-- Default value of type `POINTER'
    			-- (Avoid the need to write `p'.default for
    			-- some `p' of type `POINTER'.)
    			-- (from ANY)

    	default_rescue
    			-- Process exception for routines with no Rescue clause.
    			-- (Default: do nothing.)
    			-- (from ANY)

    	frozen do_nothing
    			-- Execute a null action.
    			-- (from ANY)

    feature -- Column Flags (Format)

    	lvcfmt_center: INTEGER_32 is 2
    			-- alignment of the column : center.
    			-- Do not use for the first column of the list view
    			-- that must always be left-aligned.
    			--
    			-- Declared in Windows as LVCFMT_CENTER

    	lvcfmt_justifymask: INTEGER_32 is 3
    			-- alignment of the column : justify.
    			-- Do not use for the first column of the list view
    			-- that must always be left-aligned.
    			--
    			-- Declared in Windows as LVCFMT_JUSTIFYMASK

    	lvcfmt_left: INTEGER_32 is 0
    			-- alignment of the column : left.
    			-- Do not use for the first column of the list view
    			-- that must always be left-aligned.
    			--
    			-- Declared in Windows as LVCFMT_LEFT

    	lvcfmt_right: INTEGER_32 is 1
    			-- alignment of the column : right.
    			-- Do not use for the first column of the list view
    			-- that must always be left-aligned.
    			--
    			-- Declared in Windows as LVCFMT_RIGHT

    feature -- Column Flags (General)

    	lvcf_fmt: INTEGER_32 is 1
    			-- The fmt member is valid.
    			--
    			-- Declared in Windows as LVCF_FMT

    	lvcf_image: INTEGER_32 is 16
    			-- The ilmage member is valid
    			--
    			-- Declared in Windows as LVCF_IMAGE

    	lvcf_subitem: INTEGER_32 is 8
    			-- The iSubItem member is valid.
    			--
    			-- Declared in Windows as LVCF_SUBITEM

    	lvcf_text: INTEGER_32 is 4
    			-- The pszText member is valid.
    			--
    			-- Declared in Windows as LVCF_TEXT

    	lvcf_width: INTEGER_32 is 2
    			-- The cx member is valid.
    			--
    			-- Declared in Windows as LVCF_WIDTH

    feature -- Column Flags (Width)

    	lvscw_autosize: INTEGER_32 is -1
    			-- Automatically sizes the column.
    			--
    			-- Declared in Windows as LVSCW_AUTOSIZE

    	lvscw_autosize_useheader: INTEGER_32 is -2
    			-- Automatically sizes the column to fit the
    			-- header text. If you use this value with the last
    			-- column, its width is set to fill the remaining
    			-- width of the list view control.
    			--
    			-- Declared in Windows as LVSCW_AUTOSIZE_USEHEADER

    feature -- Extended Style

    	lvs_ex_checkboxes: INTEGER_32 is 4
    			-- Version 4.70.
    			-- Enables check boxes for items in a list view
    			-- control. Effectively, when set to this style, the control
    			-- will create and set a state image list using
    			-- DrawFrameControl. Check boxes are visible and functional
    			-- with all list view modes. You can obtain the state of the
    			-- check box for a given item with ListView_GetCheckState. To
    			-- set the check state, use ListView_SetCheckState.

    	lvs_ex_flatsb: INTEGER_32 is 256
    			-- Version 4.71.
    			-- Enables flat scroll bars in the list view.
    			-- If you need more control over the appearance of the list
    			-- view's scroll bars, you should manipulate the list view's
    			-- scroll bars directly using the Flat Scroll Bar APIs. If
    			-- the system metrics change, you are responsible for adjusting
    			-- the scrollbar metrics with FlatSB_SetScrollProp. See Flat
    			-- Scroll Bars for further details.

    	lvs_ex_fullrowselect: INTEGER_32 is 32
    			-- Version 4.70.
    			-- When an item is selected, the item and all its subitems are
    			-- highlighted. This style is available only in conjunction
    			-- with the LVS_REPORT style.

    	lvs_ex_gridlines: INTEGER_32 is 1
    			-- Version 4.70. Displays gridlines around items and subitems.
    			-- This style is available only in conjunction with the LVS_REPORT
    			-- style.

    	lvs_ex_headerdragdrop: INTEGER_32 is 16
    			-- Version 4.70. Enables drag-and-drop reordering of columns in
    			-- a list view control. This style is only available to list
    			-- view controls that use the LVS_REPORT style.

    	lvs_ex_infotip: INTEGER_32 is 1024
    			-- Version 4.71. When a list view control uses the
    			-- LVS_EX_INFOTIP style, the LVN_GETINFOTIP notification message
    			-- is sent to the parent window before displaying an item's
    			-- tooltip.

    	lvs_ex_labeltip: INTEGER_32 is 16384
    			-- Version 5.80. If a partially hidden label in any list view
    			-- mode lacks tooltip text, the list view control will unfold
    			-- the label. If this style is not set, the list view control
    			-- will unfold partly hidden labels only for the large icon mode.

    	lvs_ex_multiworkareas: INTEGER_32 is 8192
    			-- Version 4.71. If the list view control has the LVS_AUTOARRANGE
    			-- style, the control will not autoarrange its icons until one or
    			-- more work areas are defined (see LVM_SETWORKAREAS). To be
    			-- effective, this style must be set before any work areas are
    			-- defined and any items have been added to the control.

    	lvs_ex_oneclickactivate: INTEGER_32 is 64
    			-- Version 4.70. The list view control sends an LVN_ITEMACTIVATE
    			-- notification message to the parent window when the user clicks
    			-- an item. This style also enables hot tracking in the list view
    			-- control. Hot tracking means that when the cursor moves over an
    			-- item, it is highlighted but not selected. See the Remarks for a
    			-- discussion of item activation.

    	lvs_ex_regional: INTEGER_32 is 512
    			-- Version 4.71. The list view will create a region that includes
    			-- only the item icons and text and set its window region to that
    			-- using SetWindowRgn. This will exclude any area that is not part
    			-- of an item from the window region. This style is only available
    			-- to list view controls that use the LVS_ICON style.

    	lvs_ex_subitemimages: INTEGER_32 is 2
    			-- Version 4.70. Allows images to be displayed for subitems.
    			-- This style is available only in conjunction with the LVS_REPORT
    			-- style.

    	lvs_ex_trackselect: INTEGER_32 is 8
    			-- Version 4.70. Enables hot-track selection in a list view
    			-- control. Hot track selection means that an item is
    			-- automatically selected when the cursor remains over the item
    			-- for a certain period of time. The delay can be changed from
    			-- the default system setting with a LVM_SETHOVERTIME message.
    			-- This style applies to all styles of list view control. You
    			-- can check whether or not hot-track selection is enabled by
    			-- calling SystemParametersInfo.

    	lvs_ex_twoclickactivate: INTEGER_32 is 128
    			-- Version 4.70. The list view control sends an LVN_ITEMACTIVATE
    			-- notification message to the parent window when the user
    			-- double-clicks an item. This style also enables hot tracking
    			-- in the list view control. Hot tracking means that when the
    			-- cursor moves over an item, it is highlighted but not
    			-- selected. See the Remarks for a discussion of item
    			-- activation.

    	lvs_ex_underlinecold: INTEGER_32 is 4096
    			-- Version 4.71. Causes non-hot items that are activatable to be
    			-- displayed with underlined text. This style requires that
    			-- LVS_EX_TWOCLICKACTIVATE also be set. See the Remarks for a
    			-- discussion of item activation.

    	lvs_ex_underlinehot: INTEGER_32 is 2048
    			-- Version 4.71. Causes hot items that are activatable to be
    			-- displayed with underlined text. This style requires that
    			-- LVS_EX_ONECLICKACTIVATE or LVS_EX_TWOCLICKACTIVATE also be
    			-- set. See the Remarks for a discussion of item activation.

    feature -- Flags defining search in a list view.

    	lvfi_nearestxy: INTEGER_32 is 64
    			-- Search item nearest specified position in specified direction
    			--
    			-- Declared in Windows as LVFI_NEARESTXY

    	lvfi_param: INTEGER_32 is 1
    			-- Search item with corresponding lparam attribute
    			--
    			-- Declared in Windows as LVFI_PARAM

    	lvfi_partial: INTEGER_32 is 8
    			-- Search item including given string
    			--
    			-- Declared in Windows as LVFI_PARTIAL

    	lvfi_string: INTEGER_32 is 2
    			-- Search item with exact corresponding string
    			--
    			-- Declared in Windows as LVFI_STRING

    	lvfi_wrap: INTEGER_32 is 32
    			-- Start search from start when end of list view is reached
    			--
    			-- Declared in Windows as LVFI_WRAP

    feature -- Header Notifications.

    	hdn_begindrag: INTEGER_32 is -310
    			-- Version 4.70 and later of Comctl32.dll
    			-- Sent by a header control when a drag operation has begun on
    			-- one of its items. This notification message is sent only by
    			-- header controls that are set to the HDS_DRAGDROP style. This
    			-- notification is sent in the form of a WM_NOTIFY message.
    			--
    			-- Declared in Windows as HDN_BEGINDRAG

    	hdn_begintrack: INTEGER_32 is -306
    			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_begintracka.

    	hdn_begintracka: INTEGER_32 is -306
    			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_begintrack.

    	hdn_begintrackw: INTEGER_32 is -326
    			-- Notifies a header control's parent window that the user has
    			-- begun dragging a divider in the control (that is, the user
    			-- has pressed the left mouse button while the mouse cursor is
    			-- on a divider in the header control). This notification
    			-- message is sent in the form of a WM_NOTIFY message.
    			--
    			-- Declared in Windows as HDN_BEGINTRACK

    	hdn_dividerdblclick: INTEGER_32 is -305
    			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_dividerdblclicka.

    	hdn_dividerdblclicka: INTEGER_32 is -305
    			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_dividerdblclick.

    	hdn_dividerdblclickw: INTEGER_32 is -325
    			-- Notifies a header control's parent window that the user
    			-- double-clicked the divider area of the control. This
    			-- notification message is sent in the form of a WM_NOTIFY
    			-- message.
    			--
    			-- Declared in Windows as HDN_DIVIDERDBLCLICK

    	hdn_enddrag: INTEGER_32 is -311
    			-- Version 4.70 and later of Comctl32.dll
    			-- Sent by a header control when a drag operation has ended on
    			-- one of its items. This notification is sent as a WM_NOTIFY
    			-- message. Only header controls that are set to the
    			-- HDS_DRAGDROP style send this notification.
    			--
    			-- Declared in Windows as HDN_ENDDRAG

    	hdn_endtrack: INTEGER_32 is -307
    			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_endtracka.

    	hdn_endtracka: INTEGER_32 is -307
    			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_endtrack.

    	hdn_endtrackw: INTEGER_32 is -327
    			-- Notifies a header control's parent window that the user has
    			-- finished dragging a divider. This notification message sent
    			-- in the form of a WM_NOTIFY message.
    			--
    			-- Declared in Windows as HDN_ENDTRACK

    	hdn_getdispinfo: INTEGER_32 is -309
    			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_getdispinfoa.

    	hdn_getdispinfoa: INTEGER_32 is -309
    			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_getdispinfo.

    	hdn_getdispinfow: INTEGER_32 is -329
    			-- Version 4.70 and later of Comctl32.dll
    			-- Notifies the header control's parent window when the filter
    			-- button is clicked or in response to an HDM_SETITEM message.
    			--
    			-- Declared in Windows as HDN_GETDISPINFO

    	hdn_itemchanged: INTEGER_32 is -301
    			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_itemchangeda.

    	hdn_itemchangeda: INTEGER_32 is -301
    			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_itemchanged.

    	hdn_itemchangedw: INTEGER_32 is -321
    			-- Notifies a header control's parent window that the attributes
    			-- of a header item have changed. This notification message is
    			-- sent in the form of a WM_NOTIFY message.
    			--
    			-- Declared in Windows as HDN_ITEMCHANGED

    	hdn_itemchanging: INTEGER_32 is -300
    			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_itemchanginga.

    	hdn_itemchanginga: INTEGER_32 is -300
    			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_itemchanging.

    	hdn_itemchangingw: INTEGER_32 is -320
    			-- Notifies a header control's parent window that the attributes
    			-- of a header item are about to change. This notification
    			-- message is sent in the form of a WM_NOTIFY message.
    			--
    			-- Declared in Windows as HDN_ITEMCHANGING

    	hdn_itemclick: INTEGER_32 is -302
    			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_itemclicka.

    	hdn_itemclicka: INTEGER_32 is -302
    			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_itemclick.

    	hdn_itemclickw: INTEGER_32 is -322
    			-- Notifies a header control's parent window that the user
    			-- clicked the control. This notification message is sent in the
    			-- form of a WM_NOTIFY message.
    			--
    			-- Declared in Windows as HDN_ITEMCLICK

    	hdn_itemdblclick: INTEGER_32 is -303
    			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_itemdblclicka.

    	hdn_itemdblclicka: INTEGER_32 is -303
    			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_itemdblclick.

    	hdn_itemdblclickw: INTEGER_32 is -323
    			-- Notifies a header control's parent window that the user
    			-- double-clicked the control. This notification message is sent
    			-- in the form of a WM_NOTIFY message. Only header controls that
    			-- are set to the HDS_BUTTONS style send this notification.
    			--
    			-- Declared in Windows as HDN_ITEMDBLCLICK

    	hdn_track: INTEGER_32 is -308
    			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_tracka.

    	hdn_tracka: INTEGER_32 is -308
    			-- Was declared in WEL_LIST_VIEW_CONSTANTS as synonym of Hdn_track.

    	hdn_trackw: INTEGER_32 is -328
    			-- Notifies a header control's parent window that the user is
    			-- dragging a divider in the header control. This notification
    			-- message is sent in the form of a WM_NOTIFY message.
    			--
    			-- Declared in Windows as HDN_TRACK

    feature -- HitTest Info.

    	lvht_above: INTEGER_32 is 8
    			-- Above the client area.
    			--
    			-- Declared in Windows as LVHT_ABOVE

    	lvht_below: INTEGER_32 is 16
    			-- Below the client area.
    			--
    			-- Declared in Windows as LVHT_BELOW

    	lvht_nowhere: INTEGER_32 is 1
    			-- In the client area, but below the last item.
    			--
    			-- Declared in Windows as LVHT_NOWHERE

    	lvht_onitemicon: INTEGER_32 is 2
    			-- On the button associated with an item.
    			--
    			-- Declared in Windows as LVHT_ONITEMICON

    	lvht_onitemlabel: INTEGER_32 is 4
    			-- On the label (string) associated with an item.
    			--
    			-- Declared in Windows as LVHT_ONITEMLABEL

    	lvht_onitemstateicon: INTEGER_32 is 8
    			-- On the state icon for a tree view item that is in
    			-- a user-defines state.
    			--
    			-- Declared in Windows as LVHT_ONITEMSTATEICON

    	lvht_toleft: INTEGER_32 is 64
    			-- To the left of the client area.
    			--
    			-- Declared in Windows as LVHT_TOLEFT

    	lvht_toright: INTEGER_32 is 32
    			-- To the right of the client area.
    			--
    			-- Declared in Windows as LVHT_TORIGHT

    feature -- ImageList State

    	lvsil_normal: INTEGER_32 is 0
    			-- Indicates the normal image list, which contains
    			-- selected, nonselected, and overlay images for the
    			-- items of a list view control.
    			-- This image list represents the large icons.
    			--
    			-- Declared in Windows as LVSIL_NORMAL

    	lvsil_small: INTEGER_32 is 1
    			-- Indicates the normal image list, which contains
    			-- selected, nonselected, and overlay images for the
    			-- items of a list view control.
    			-- This image list represents the small icons.
    			--
    			-- Declared in Windows as LVSIL_SMALL

    	lvsil_state: INTEGER_32 is 2
    			-- Indicates the state image list. You can use state
    			-- images to indicate application-defined item states.
    			-- A state image is displayed to the left of an item's
    			-- selected or nonselected image.
    			--
    			-- Declared in Windows as LVSIL_STATE

    feature -- Item Styles

    	lvis_cut: INTEGER_32 is 4
    			-- The item is marked for a cut and paste operation.
    			--
    			-- Declared in Windows as LVIS_CUT

    	lvis_drophilited: INTEGER_32 is 8
    			-- The item is highlighted as a drag-and-dop target.
    			--
    			-- Declared in Windows as LVIS_DROPHILITED

    	lvis_focused: INTEGER_32 is 1
    			-- The item has the focus.
    			--
    			-- Declared in Windows as LVIS_FOCUSED

    	lvis_selected: INTEGER_32 is 2
    			-- The item is selected.
    			--
    			-- Declared in Windows as LVIS_SELECTED

    feature -- Item flags

    	lvif_image: INTEGER_32 is 2
    			-- The iImage member is valid.
    			--
    			-- Declared in Windows as LVIF_IMAGE

    	lvif_param: INTEGER_32 is 4
    			-- The lParam member is valid.
    			--
    			-- Declared in Windows as LVIF_PARAM

    	lvif_state: INTEGER_32 is 8
    			-- The state member is valid
    			--
    			-- Declared in Windows as LVIF_STATE

    	lvif_text: INTEGER_32 is 1
    			-- The pszText member is valid.
    			--
    			-- Declared in Windows as LVIF_TEXT

    feature -- List View Item Rectangle constants.

    	lvir_bounds: INTEGER_32 is 0
    			-- Returns the bounding rectangle of the entire item, including
    			-- the icon and label.
    			--
    			-- Declared in Windows as LVIR_BOUNDS

    	lvir_icon: INTEGER_32 is 1
    			-- Returns the bounding rectangle of the icon or small icon.
    			--
    			-- Declared in Windows as LVIR_ICON

    	lvir_label: INTEGER_32 is 2
    			-- Returns the bounding rectangle of the item text.
    			--
    			-- Declared in Windows as LVIR_LABEL

    	lvir_selectbounds: INTEGER_32 is 3
    			-- Returns the union of the LVIR_ICON and LVIR_LABEL rectangles,
    			-- but excludes columns in report view.
    			--
    			-- Declared in Windows as LVIR_SELECTBOUNDS

    feature -- Messages

    	lvm_approximateviewrect: INTEGER_32 is 4160
    			-- Version 4.70. Calculates the approximate width and height
    			-- required to display a given number of items.
    			--
    			-- Declared in Windows as LVM_APPROXIMATEVIEWRECT

    	lvm_arrange: INTEGER_32 is 4118
    			-- Declared in Windows as LVM_ARRANGE

    	lvm_createdragimage: INTEGER_32 is 4129
    			-- Declared in Windows as LVM_CREATEDRAGIMAGE

    	lvm_deleteallitems: INTEGER_32 is 4105
    			-- Declared in Windows as LVM_DELETEALLITEMS

    	lvm_deletecolumn: INTEGER_32 is 4124
    			-- Declared in Windows as LVM_DELETECOLUMN

    	lvm_deleteitem: INTEGER_32 is 4104
    			-- Declared in Windows as LVM_DELETEITEM

    	lvm_editlabel: INTEGER_32 is 4214
    			-- Declared in Windows as LVM_EDITLABEL

    	lvm_ensurevisible: INTEGER_32 is 4115
    			-- Declared in Windows as LVM_ENSUREVISIBLE

    	lvm_finditem: INTEGER_32 is 4179
    			-- Declared in Windows as LVM_FINDITEM

    	lvm_getbkcolor: INTEGER_32 is 4096
    			-- Declared in Windows as LVM_GETBKCOLOR

    	lvm_getbkimage: INTEGER_32 is 4165
    			-- Version 4.71. Retrieves the background image in a list view
    			-- control.
    			--
    			-- Declared in Windows as LVM_GETBKIMAGE

    	lvm_getcallbackmask: INTEGER_32 is 4106
    			-- Declared in Windows as LVM_GETCALLBACKMASK

    	lvm_getcolumn: INTEGER_32 is 4191
    			-- Declared in Windows as LVM_GETCOLUMN

    	lvm_getcolumnorderarray: INTEGER_32 is 4155
    			-- Version 4.70. Retrieves the current left-to-right order of
    			-- columns in a list view control.
    			--
    			-- Declared in Windows as LVM_GETCOLUMNORDERARRAY

    	lvm_getcolumnwidth: INTEGER_32 is 4125
    			-- Declared in Windows as LVM_GETCOLUMNWIDTH

    	lvm_getcountperpage: INTEGER_32 is 4136
    			-- Declared in Windows as LVM_GETCOUNTPERPAGE

    	lvm_geteditcontrol: INTEGER_32 is 4120
    			-- Declared in Windows as LVM_GETEDITCONTROL

    	lvm_getextendedlistviewstyle: INTEGER_32 is 4151
    			-- Version 4.70. Retrieves the extended styles that are
    			-- currently in use for a given list view control.
    			--
    			-- Declared in Windows as LVM_GETEXTENDEDLISTVIEWSTYLE

    	lvm_getheader: INTEGER_32 is 4127
    			-- Version 4.70. Retrieves the handle to the header control used
    			-- by the list view control.
    			--
    			-- Declared in Windows as LVM_GETHEADER

    	lvm_gethotcursor: INTEGER_32 is 4159
    			-- Version 4.70. Retrieves the HCURSOR value used when the
    			-- pointer is over an item while hot tracking is enabled
    			--
    			-- Declared in Windows as LVM_GETHOTCURSOR

    	lvm_gethotitem: INTEGER_32 is 4157
    			-- Version 4.70. Retrieves the index of the hot item.
    			--
    			-- Declared in Windows as LVM_GETHOTITEM

    	lvm_gethovertime: INTEGER_32 is 4168
    			-- Version 4.71. Retrieves the amount of time that the mouse
    			-- cursor must hover over an item before it is selected.
    			--
    			-- Declared in Windows as LVM_GETHOVERTIME

    	lvm_getimagelist: INTEGER_32 is 4098
    			-- Declared in Windows as LVM_GETIMAGELIST

    	lvm_getisearchstring: INTEGER_32 is 4213
    			-- Declared in Windows as LVM_GETISEARCHSTRING

    	lvm_getitem: INTEGER_32 is 4171
    			-- Declared in Windows as LVM_GETITEM

    	lvm_getitemcount: INTEGER_32 is 4100
    			-- Declared in Windows as LVM_GETITEMCOUNT

    	lvm_getitemposition: INTEGER_32 is 4112
    			-- Declared in Windows as LVM_GETITEMPOSITION

    	lvm_getitemrect: INTEGER_32 is 4110
    			-- Declared in Windows as LVM_GETITEMRECT

    	lvm_getitemspacing: INTEGER_32 is 4147
    			-- Declared in Windows as LVM_GETITEMSPACING

    	lvm_getitemstate: INTEGER_32 is 4140
    			-- Declared in Windows as LVM_GETITEMSTATE

    	lvm_getitemtext: INTEGER_32 is 4211
    			-- Declared in Windows as LVM_GETITEMTEXT

    	lvm_getnextitem: INTEGER_32 is 4108
    			-- Declared in Windows as LVM_GETNEXTITEM

    	lvm_getnumberofworkareas: INTEGER_32 is 4169
    			-- Version 4.71. Retrieves the number of working areas in a list
    			-- view control.
    			--
    			-- Declared in Windows as LVM_GETNUMBEROFWORKAREAS

    	lvm_getorigin: INTEGER_32 is 4137
    			-- Declared in Windows as LVM_GETORIGIN

    	lvm_getselectedcount: INTEGER_32 is 4146
    			-- Declared in Windows as LVM_GETSELECTEDCOUNT

    	lvm_getstringwidth: INTEGER_32 is 4183
    			-- Declared in Windows as LVM_GETSTRINGWIDTH

    	lvm_getsubitemrect: INTEGER_32 is 4152
    			-- Version 4.70. Retrieves information about the bounding
    			-- rectangle for a subitem in a list view control.
    			-- This message is intended to be used only with list view
    			-- controls that use the Lvs_report style.
    			--
    			-- Declared in Windows as LVM_GETSUBITEMRECT

    	lvm_gettextbkcolor: INTEGER_32 is 4133
    			-- Declared in Windows as LVM_GETTEXTBKCOLOR

    	lvm_gettextcolor: INTEGER_32 is 4131
    			-- Declared in Windows as LVM_GETTEXTCOLOR

    	lvm_gettopindex: INTEGER_32 is 4135
    			-- Declared in Windows as LVM_GETTOPINDEX

    	lvm_getviewrect: INTEGER_32 is 4130
    			-- Declared in Windows as LVM_GETVIEWRECT

    	lvm_getworkareas: INTEGER_32 is 4166
    			-- Version 4.71. Retrieves the UNICODE character format flag for
    			-- the control
    			--
    			-- Declared in Windows as LVM_GETWORKAREAS

    	lvm_hittest: INTEGER_32 is 4114
    			-- Declared in Windows as LVM_HITTEST

    	lvm_insertcolumn: INTEGER_32 is 4193
    			-- Declared in Windows as LVM_INSERTCOLUMN

    	lvm_insertitem: INTEGER_32 is 4173
    			-- Declared in Windows as LVM_INSERTITEM

    	lvm_redrawitems: INTEGER_32 is 4117
    			-- Declared in Windows as LVM_REDRAWITEMS

    	lvm_scroll: INTEGER_32 is 4116
    			-- Declared in Windows as LVM_SCROLL

    	lvm_setbkcolor: INTEGER_32 is 4097
    			-- Declared in Windows as LVM_SETBKCOLOR

    	lvm_setbkimage: INTEGER_32 is 4164
    			-- Version 4.71. Retrieves the UNICODE character format flag for
    			-- the control
    			--
    			-- Declared in Windows as LVM_SETBKIMAGE

    	lvm_setcallbackmask: INTEGER_32 is 4107
    			-- Declared in Windows as LVM_SETCALLBACKMASK

    	lvm_setcolumn: INTEGER_32 is 4192
    			-- Declared in Windows as LVM_SETCOLUMN

    	lvm_setcolumnwidth: INTEGER_32 is 4126
    			-- Declared in Windows as LVM_SETCOLUMNWIDTH

    	lvm_setextendedlistviewstyle: INTEGER_32 is 4150
    			-- Version 4.70. Sets extended styles in list view controls.
    			--
    			-- Declared in Windows as LVM_SETEXTENDEDLISTVIEWSTYLE

    	lvm_sethotcursor: INTEGER_32 is 4158
    			-- Version 4.70. Sets the HCURSOR value that the list view
    			-- control uses when the pointer is over an item while hot
    			-- tracking is enabled. To check whether or not
    			-- hot tracking is enabled, call SystemParametersInfo.
    			--
    			-- Declared in Windows as LVM_SETHOTCURSOR

    	lvm_sethotitem: INTEGER_32 is 4156
    			-- Version 4.70.
    			--
    			-- Declared in Windows as LVM_SETHOTITEM

    	lvm_sethovertime: INTEGER_32 is 4167
    			-- Version 4.71. Sets the hot item for a list view control.
    			--
    			-- Declared in Windows as LVM_SETHOVERTIME

    	lvm_setimagelist: INTEGER_32 is 4099
    			-- Declared in Windows as LVM_SETIMAGELIST

    	lvm_setitem: INTEGER_32 is 4172
    			-- Declared in Windows as LVM_SETITEM

    	lvm_setitemcount: INTEGER_32 is 4143
    			-- Declared in Windows as LVM_SETITEMCOUNT

    	lvm_setitemposition: INTEGER_32 is 4111
    			-- Declared in Windows as LVM_SETITEMPOSITION

    	lvm_setitemposition32: INTEGER_32 is 4145
    			-- Declared in Windows as LVM_SETITEMPOSITION32

    	lvm_setitemstate: INTEGER_32 is 4139
    			-- Declared in Windows as LVM_SETITEMSTATE

    	lvm_setitemtext: INTEGER_32 is 4212
    			-- Declared in Windows as LVM_SETITEMTEXT

    	lvm_setselectionmark: INTEGER_32 is 4163
    			-- Version 4.71. Sets the selection mark in a list view control.
    			--
    			-- Declared in Windows as LVM_SETSELECTIONMARK

    	lvm_settextbkcolor: INTEGER_32 is 4134
    			-- Declared in Windows as LVM_SETTEXTBKCOLOR

    	lvm_settextcolor: INTEGER_32 is 4132
    			-- Declared in Windows as LVM_SETTEXTCOLOR

    	lvm_settooltips: INTEGER_32 is 4170
    			-- 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
    			--
    			-- Declared in Windows as LVM_SETTOOLTIPS

    	lvm_setunicodeformat: INTEGER_32 is 8197
    			-- 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.
    			--
    			-- Declared in Windows as LVM_SETUNICODEFORMAT

    	lvm_setworkareas: INTEGER_32 is 4161
    			-- Version 4.71. Sets the working areas within a list view
    			-- control.
    			--
    			-- Declared in Windows as LVM_SETWORKAREAS

    	lvm_sortitems: INTEGER_32 is 4144
    			-- Declared in Windows as LVM_SORTITEMS

    	lvm_subitemhittest: INTEGER_32 is 4153
    			-- Version 4.70. Determines which list view item or subitem is
    			-- at a given position.
    			--
    			-- Declared in Windows as LVM_SUBITEMHITTEST

    	lvm_update: INTEGER_32 is 4138
    			-- Declared in Windows as LVM_UPDATE

    feature -- Next item flags

    	lvni_above: INTEGER_32 is 256
    			-- Searches for an item that is above the specified item.
    			--
    			-- Declared in Windows as LVNI_ABOVE

    	lvni_all: INTEGER_32 is 0
    			-- Searches for a subsequent item by index.
    			--
    			-- Declared in Windows as LVNI_ALL

    	lvni_below: INTEGER_32 is 512
    			-- Searches for an item that is below the specified item.
    			--
    			-- Declared in Windows as LVNI_BELOW

    	lvni_cut: INTEGER_32 is 4
    			-- The item has the LVIS_CUT state flag set.
    			--
    			-- Declared in Windows as LVNI_CUT

    	lvni_drophilited: INTEGER_32 is 8
    			-- The item has the LVIS_DROPHILITED state flag set.
    			--
    			-- Declared in Windows as LVNI_DROPHILITED

    	lvni_focused: INTEGER_32 is 1
    			-- The item has the LVIS_FOCUSED state flag set.
    			--
    			-- Declared in Windows as LVNI_FOCUSED

    	lvni_selected: INTEGER_32 is 2
    			-- The item has the LVIS_SELECTED state flag set.
    			--
    			-- Declared in Windows as LVNI_SELECTED

    	lvni_toleft: INTEGER_32 is 1024
    			-- Searches for an item to the left of the specified item.
    			--
    			-- Declared in Windows as LVNI_TOLEFT

    	lvni_toright: INTEGER_32 is 2048
    			-- Searches for an item to the right of the specified item.
    			--
    			-- Declared in Windows as LVNI_TORIGHT

    feature -- Notifications

    	lvn_begindrag: INTEGER_32 is -109
    			-- Declared in Windows as LVN_BEGINDRAG

    	lvn_beginlabeledit: INTEGER_32 is -175
    			-- Declared in Windows as LVN_BEGINLABELEDIT

    	lvn_beginrdrag: INTEGER_32 is -111
    			-- Declared in Windows as LVN_BEGINRDRAG

    	lvn_columnclick: INTEGER_32 is -108
    			-- Declared in Windows as LVN_COLUMNCLICK

    	lvn_deleteallitems: INTEGER_32 is -104
    			-- Declared in Windows as LVN_DELETEALLITEMS

    	lvn_deleteitem: INTEGER_32 is -103
    			-- Declared in Windows as LVN_DELETEITEM

    	lvn_endlabeledit: INTEGER_32 is -176
    			-- Declared in Windows as LVN_ENDLABELEDIT

    	lvn_getdispinfo: INTEGER_32 is -177
    			-- Declared in Windows as LVN_GETDISPINFO

    	lvn_getinfotip: INTEGER_32 is -157
    			-- Version 4.71 and later of Comctl32.dll
    			-- 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.
    			--
    			-- Declared in Windows as LVN_GETINFOTIP

    	lvn_insertitem: INTEGER_32 is -102
    			-- Declared in Windows as LVN_INSERTITEM

    	lvn_itemchanged: INTEGER_32 is -101
    			-- Declared in Windows as LVN_ITEMCHANGED

    	lvn_itemchanging: INTEGER_32 is -100
    			-- Declared in Windows as LVN_ITEMCHANGING

    	lvn_keydown: INTEGER_32 is -155
    			-- Declared in Windows as LVN_KEYDOWN

    	lvn_marqueebegin: INTEGER_32 is -156
    			-- Declared in Windows as LVN_MARQUEEBEGIN

    	lvn_setdispinfo: INTEGER_32 is -178
    			-- Declared in Windows as LVN_SETDISPINFO

    feature -- Output

    	io: STD_FILES
    			-- Handle to standard file setup
    			-- (from ANY)

    	out: STRING_8
    			-- New string containing terse printable representation
    			-- of current object
    			-- Was declared in ANY as synonym of tagged_out.
    			-- (from ANY)

    	print (some: ANY)
    			-- Write terse external representation of `some'
    			-- on standard output.
    			-- (from ANY)

    	frozen tagged_out: STRING_8
    			-- New string containing terse printable representation
    			-- of current object
    			-- Was declared in ANY as synonym of out.
    			-- (from ANY)

    feature -- Platform

    	operating_environment: OPERATING_ENVIRONMENT
    			-- Objects available from the operating system
    			-- (from ANY)

    feature -- Style

    	lvs_alignleft: INTEGER_32 is 2048
    			-- Items are left-aligned in icon and small icon view.
    			--
    			-- Declared in Windows as LVS_ALIGNLEFT

    	lvs_aligntop: INTEGER_32 is 0
    			-- Items are aligned with the top of the list view control in
    			-- icon and small icon view.
    			--
    			-- Declared in Windows as LVS_ALIGNTOP

    	lvs_autoarrange: INTEGER_32 is 256
    			-- Icons are automatically kept arranged in icon and small icon
    			-- view.
    			--
    			-- Declared in Windows as LVS_AUTOARRANGE

    	lvs_editlabels: INTEGER_32 is 512
    			-- Item text can be edited in place. The parent window must
    			-- process the LVN_ENDLABELEDIT notification message.
    			--
    			-- Declared in Windows as LVS_EDITLABELS

    	lvs_icon: INTEGER_32 is 0
    			-- This style specifies icon view.
    			--
    			-- Declared in Windows as LVS_ICON

    	lvs_list: INTEGER_32 is 3
    			-- This style specifies list view.
    			--
    			-- Declared in Windows as LVS_LIST

    	lvs_nocolumnheader: INTEGER_32 is 16384
    			-- Declared in Windows as LVS_NOCOLUMNHEADER

    	lvs_nolabelwrap: INTEGER_32 is 128
    			-- Item text is displayed on a single line in icon view. By
    			-- default, item text may wrap in icon view.
    			--
    			-- Declared in Windows as LVS_NOLABELWRAP

    	lvs_noscroll: INTEGER_32 is 8192
    			-- Scrolling is disabled. All items must be within the client
    			-- area. This style is not compatible with the LVS_LIST or
    			-- LVS_REPORT styles.
    			--
    			-- Declared in Windows as LVS_NOSCROLL

    	lvs_nosortheader: INTEGER_32 is 32768
    			-- Column headers do not work like buttons. This style can be
    			-- used if clicking a column header in report view does not
    			-- carry out an action, such as sorting.
    			--
    			-- Declared in Windows as LVS_NOSORTHEADER

    	lvs_ownerdrawfixed: INTEGER_32 is 1024
    			-- The owner window can paint items in report view. The list
    			-- view control sends a WM_DRAWITEM message to paint each item;
    			-- it does not send separate messages for each subitem. The
    			-- itemData member of the DRAWITEMSTRUCT structure contains the
    			-- item data for the specified list view item.
    			--
    			-- Declared in Windows as LVS_OWNERDRAWFIXED

    	lvs_report: INTEGER_32 is 1
    			-- This style specifies report view. When using the LVS_REPORT
    			-- style with a list view control, the first column is always
    			-- left-aligned. You cannot use LVCFMT_RIGHT to change this
    			-- alignment. See LVCOLUMN for further information on column
    			-- alignment.
    			--
    			-- Declared in Windows as LVS_REPORT

    	lvs_shareimagelists: INTEGER_32 is 64
    			-- The image list will not be deleted when the control is
    			-- destroyed. This style enables the use of the same image lists
    			-- with multiple list view controls.
    			--
    			-- Declared in Windows as LVS_SHAREIMAGELISTS

    	lvs_showselalways: INTEGER_32 is 8
    			-- The selection, if any, is always shown, even if the control
    			-- does not have the focus.
    			--
    			-- Declared in Windows as LVS_SHOWSELALWAYS

    	lvs_singlesel: INTEGER_32 is 4
    			-- Only one item at a time can be selected. By default, multiple
    			-- items may be selected.
    			--
    			-- Declared in Windows as LVS_SINGLESEL

    	lvs_smallicon: INTEGER_32 is 2
    			-- This style specifies small icon view.
    			--
    			-- Declared in Windows as LVS_SMALLICON

    	lvs_sortascending: INTEGER_32 is 16
    			-- Item indices are sorted based on item text in ascending
    			-- order.
    			--
    			-- Declared in Windows as LVS_SORTASCENDING

    	lvs_sortdescending: INTEGER_32 is 32
    			-- Item indices are sorted based on item text in descending
    			-- order.
    			--
    			-- Declared in Windows as LVS_SORTDESCENDING

    feature -- Validation

    	is_valid_list_view_flag (a_flag: INTEGER_32): BOOLEAN
    			-- Is `a_flag' a valid list view search flag?

    	valid_lvcfmt_constant (value: INTEGER_32): BOOLEAN
    			-- Is `value' a valid lvcfmt constant?

    	valid_lvis_constants (value: INTEGER_32): BOOLEAN
    			-- Is `value' a valid "Item Styles" constant?

    invariant
    		-- from ANY
    	reflexive_equality: standard_is_equal (Current)
    	reflexive_conformance: conforms_to (Current)

    indexing
    	copyright: "Copyright (c) 1984-2006, Eiffel Software and others"
    	license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
    	source: "[
    		Eiffel Software
    		356 Storke Road, Goleta, CA 93117 USA
    		Telephone 805-685-1006, Fax 805-685-6869
    		Website http://www.eiffel.com
    		Customer support http://support.eiffel.com
    	]"

    end -- class WEL_LIST_VIEW_CONSTANTS