Geoff Chappell - Software Analyst
The following table shows all the window messages that seem ever to have been defined specifically for List-View controls. For each message, a quick attempt has been made to determine the range of applicable COMCTL32 versions.
The description of the early history is complicated by the separate treatment of builds for Windows and NT. Some messages that date from a version 4.00 supplied with Internet Explorer 3.00 for Windows NT are not found in the version 4.00 from the original Windows 95, but become common to both Windows and NT builds of version 4.70 and higher. Builds of COMCTL32 for Windows, as opposed to NT, were for many years not just natively ANSI but exclusively ANSI, so that many messages have both ANSI and Unicode forms as early as version 3.51 for NT but do not have Unicode forms in the Windows builds until version 5.80.
More than a handful of messages, especially among recent additions, are highlighted. These are not documented in the January 2007 edition of the Software Development Kit (SDK) for Windows Vista, nor are they defined in the COMMCTRL.H header from that SDK. The names given here for these messages are invented, Microsoft’s names being not known.
Message | Symbolic Name | Applicable Versions | Remarks |
---|---|---|---|
0x1000 | 3.50 and higher | returns indirect result of GetBackgroundColor method | |
0x1001 | 3.50 and higher | passes lParam to
SetBackgroundColor
method; returns TRUE for success, else FALSE |
|
0x1002 | 3.50 and higher | ||
0x1003 | 3.50 and higher | ||
0x1004 | 3.50 and higher | returns indirect result of GetItemCount method | |
0x1005 | 3.50 and higher | ||
0x1006 | 3.50 and higher | ||
0x1007 | 3.50 and higher | ||
0x1008 | 3.50 and higher | passes wParam to
DeleteItem
method; returns TRUE for success, else FALSE |
|
0x1009 | 3.50 and higher | calls DeleteAllItems method; returns TRUE for success, else FALSE |
|
0x100A | 3.50 and higher | returns indirect result of GetCallbackMask method | |
0x100B | 3.50 and higher | passes wParam to
SetCallbackMask
method; returns TRUE |
|
0x100C | 3.50 and higher | translates to GetNextItem method | |
0x100D | 3.50 and higher | ||
0x100E | 3.50 and higher | translates to GetItemRect method | |
0x100F | 3.50 and higher | ||
0x1010 | 3.50 and higher | ||
0x1011 | 3.50 and higher | ||
0x1012 | 3.50 and higher | ||
0x1013 | 3.50 and higher | translates to EnsureItemVisible method | |
0x1014 | 3.50 and higher | passes wParam and
lParam
to ScrollView method; returns TRUE for success, else FALSE |
|
0x1015 | 3.50 and higher | passes wParam and
lParam
to RedrawItems method; returns TRUE for success, else FALSE |
|
0x1016 | 3.50 and higher | passes wParam to
ArrangeItems
method; returns TRUE for success, else FALSE |
|
0x1017 | 3.50 and higher | ||
0x1018 | 3.50 and higher | returns indirect result of GetEditControl method | |
0x1019 | 3.50 and higher | ||
0x101A | 3.50 and higher | ||
0x101B | 3.50 and higher | ||
0x101C | 3.50 and higher | passes wParam to
DeleteColumn
method; returns TRUE for success, else FALSE |
|
0x101D | 3.50 and higher | ||
0x101E | 3.50 and higher | passes wParam and
lParam
(sign-extended from 16 bits) to SetColumnWidth
method;
returns TRUE for success, else FALSE |
|
0x101F | 4.70 and higher | ||
0x1021 | 3.50 and higher | passes wParam and
lParam
to CreateDragImage method; returns indirect result |
|
0x1022 | 3.50 and higher | passes lParam to
GetViewRect
method; returns TRUE for success, else FALSE |
|
0x1023 | 3.50 and higher | returns indirect result of GetTextColor method | |
0x1024 | 3.50 and higher | passes lParam to SetTextColor method | |
0x1025 | 3.50 and higher | returns indirect result of GetTextBackgroundColor method | |
0x1026 | 3.50 and higher | passes lParam to
SetTextBackgroundColor
method; returns TRUE |
|
0x1027 | 3.50 and higher | returns indirect result of GetTopIndex method | |
0x1028 | 3.50 and higher | returns indirect result of GetCountPerPage method | |
0x1029 | 3.50 and higher | passes lParam to
GetOrigin
method; returns TRUE for success, else FALSE |
|
0x102A | 3.50 and higher | passes wParam to
UpdateItem
method; returns TRUE |
|
0x102B | 3.50 and higher | translates to SetItemState method | |
0x102C | 3.50 and higher | translates to GetItemState method | |
0x102D | 3.50 and higher | ||
0x102E | 3.50 and higher | ||
0x102F | 3.50 and higher | passes wParam and
lParam
to SetItemCount method; returns TRUE for success, else FALSE |
|
0x1030 | 3.50 and higher | passes FALSE, wParam and
lParam to SortItems
method; returns TRUE for success, else FALSE |
|
0x1031 | 3.50 and higher | passes wParam and
lParam
to SetItemPosition method; returns TRUE for success, else FALSE; fails trivially if lParam is NULL |
|
0x1032 | 3.50 and higher | returns indirect result of GetSelectedCount method | |
0x1033 | 3.50 and higher | passes wParam to
GetItemSpacing
method; returns indirect results composed into one DWORD |
|
0x1034 | 3.50 and higher | ||
0x1035 | 4.00 (NT) and higher | passes 16-bit components of lParam to
SetIconSpacing method; returns indirect results composed into one DWORD |
|
0x1036 | 4.00 (NT) and higher | passes wParam and
lParam
to SetExtendedStyle method; returns indirect result |
|
0x1037 | 4.00 (NT) and higher | returns indirect result of GetExtendedStyle method | |
0x1038 | 4.00 (NT) and higher | translates to GetSubItemRect method | |
0x1039 | 4.00 (NT) and higher | ||
0x103A | 4.00 (NT) and higher | passes wParam and
lParam
to SetColumnOrderArray method; returns TRUE for success, else FALSE |
|
0x103B | 4.00 (NT) and higher | passes wParam and
lParam
to GetColumnOrderArray method; returns TRUE for success, else FALSE |
|
0x103C | 4.70 and higher | translates to SetHotItem method | |
0x103D | 4.70 and higher | returns iItem member from indirect result of GetHotItem method | |
0x103E | 4.70 and higher | passes lParam to
SetHotCursor
method; returns indirect result |
|
0x103F | 4.70 and higher | returns indirect result of GetHotCursor method | |
0x1040 | 4.70 and higher | translates to ApproximateViewRect method | |
0x1041 | 4.70 and higher | passes wParam and
lParam
to SetWorkAreas method; returns zero |
|
0x1042 | 4.71 and higher | returns iItem member from indirect result of GetSelectionMark method | |
0x1043 | 4.71 and higher | translates to SetSelectionMark method | |
0x1044 | 4.71 and higher | ||
0x1045 | 4.71 and higher | ||
0x1046 | 4.71 and higher | passes wParam and
lParam
to GetWorkAreas method; returns zero |
|
0x1047 | 4.71 and higher | passes lParam to
SetHoverTime
method; returns indirect result |
|
0x1048 | 4.71 and higher | returns indirect result of GetHoverTime method | |
0x1049 | 4.71 and higher | passes lParam to
GetWorkAreaCount
method; returns zero |
|
0x104A | 4.71 and higher | passes wParam to
SetToolTip
method; returns indirect result |
|
0x104B | 3.51 and higher (NT); 5.80 and higher (Windows) |
passes lParam to
GetItem
method; returns TRUE for success, else FALSE |
|
0x104C | 3.51 and higher (NT); 5.80 and higher (Windows) |
passes lParam to
SetItem
method; returns TRUE for success, else FALSE |
|
0x104D | 3.51 and higher (NT); 5.80 and higher (Windows) |
passes lParam to
InsertItem
method; returns indirect result |
|
0x104E | 4.71 and higher | returns indirect result of GetToolTip method | |
0x104F | 4.71 and higher | returns indirect result of GetHotLightColor method | |
0x1050 | 4.71 and higher | passes lParam to
SetHotLightColor
method; returns TRUE |
|
0x1051 | 5.80 and higher | passes TRUE, wParam and
lParam to SortItems
method; returns TRUE for success, else FALSE |
|
0x1052 | 5.80 and higher | passes wParam and
lParam
to SetRangeObject method; returns TRUE for success, else FALSE |
|
0x1053 | 3.51 and higher (NT); 5.80 and higher (Windows) |
translates to FindItem method | |
0x1054 | 5.80 and higher | calls ResetEmptyText method; returns TRUE |
|
0x1055 | 6.00 and higher | passes wParam and
lParam
to SetFrozenItem method; returns TRUE for success, else FALSE |
|
0x1056 | 6.00 and higher | returns indirect result of GetFrozenItem method | |
0x1057 | 3.51 and higher (NT); 5.80 and higher (Windows) |
passes lParam to
GetStringWidth
method; returns indirect result |
|
0x1058 | 6.00 and higher | passes wParam and
lParam
to SetFrozenSlot method; returns TRUE for success, else FALSE |
|
0x1059 | 6.00 and higher | passes lParam to
GetFrozenSlot
method; returns TRUE for success, else FALSE |
|
0x105A | 6.00 and higher | passes lParam to
SetViewMargin
method; returns TRUE for success, else FALSE |
|
0x105B | 6.00 and higher | passes lParam to
GetViewMargin
method; returns TRUE for success, else FALSE |
|
0x105C | 6.10 and higher | passes wParam and
lParam
to GetGroupState method; returns indirect result |
|
0x105D | 6.10 and higher | returns indirect result of GetFocusedGroup method | |
0x105E | 6.10 and higher | passes wParam to
EditGroupLabel
method; returns TRUE for success, else FALSE |
|
0x105F | 3.51 and higher (NT); 5.80 and higher (Windows) |
passes wParam and
lParam
to GetColumn method; returns TRUE for success, else FALSE |
|
0x1060 | 3.51 and higher (NT); 5.80 and higher (Windows) |
passes wParam and
lParam
to SetColumn method; returns TRUE for success, else FALSE |
|
0x1061 | 3.51 and higher (NT); 5.80 and higher (Windows) |
passes wParam and
lParam
to InsertColumn method; returns indirect result |
|
0x1062 | 6.10 and higher | translates to GetGroupRect method | |
0x1073 | 3.51 and higher (NT); 5.80 and higher (Windows) |
||
0x1074 | 3.51 and higher (NT); 5.80 and higher (Windows) |
translates to SetItemText method | |
0x1075 | 3.51 and higher (NT); 5.80 and higher (Windows) |
||
0x1076 | 3.51 and higher (NT); 5.80 and higher (Windows) |
||
0x108A | 4.71 and higher (NT) ; 5.80 and higher (Windows) |
passes lParam to
SetBackgroundImage
method; returns TRUE for success, else FALSE |
|
0x108B | 4.71 and higher (NT) ; 5.80 and higher (Windows) |
passes lParam to
GetBackgroundImage
method; returns TRUE for success, else FALSE |
|
0x108C | 6.00 and higher | passes wParam to
SetSelectedColumn
method; returns TRUE for success, else FALSE |
|
0x108E | 6.00 and higher | passes wParam (zero-extended from 16 bits)
to SetView method; returns 1 for success, else -1 |
|
0x108F | 6.00 and higher | returns indirect result of GetView method | |
0x1091 | 6.00 and higher | passes wParam and
lParam
to InsertGroup method; returns indirect result |
|
0x1093 | 6.00 and higher | ||
0x1095 | 6.00 and higher | ||
0x1096 | 6.00 and higher | ||
0x1098 | 6.10 and higher | returns indirect result of GetGroupCount method | |
0x1099 | 6.10 and higher | ||
0x109B | 6.00 and higher | passes lParam to
SetGroupMetrics
method; return TRUE |
|
0x109C | 6.00 and higher | passes lParam to
GetGroupMetrics
method; return TRUE |
|
0x109D | 6.00 and higher | ||
0x109E | 6.00 and higher | passes wParam and
lParam
to SortGroups method; returns TRUE for success, else FALSE |
|
0x109F | 6.00 and higher | passes wParam to
InsertGroupSorted
method; returns indirect result |
|
0x10A0 | 6.00 and higher | ||
0x10A1 | 6.00 and higher | passes wParam to
HasGroup
method; returns indirect result |
|
0x10A2 | 6.00 and higher | passes lParam to
SetTileViewInfo
method; returns TRUE for success, else FALSE |
|
0x10A3 | 6.00 and higher | passes lParam to
GetTileViewInfo
method; returns TRUE for success, else FALSE |
|
0x10A4 | 6.00 and higher | passes lParam to
SetTileInfo
method; returns TRUE for success, else FALSE |
|
0x10A5 | 6.00 and higher | passes lParam to
GetTileInfo
method; returns TRUE for success, else FALSE |
|
0x10A6 | 6.00 and higher | passes lParam to
SetInsertMark
method; returns TRUE for success, else FALSE |
|
0x10A7 | 6.00 and higher | passes lParam to
GetInsertMark
method; returns TRUE for success, else FALSE |
|
0x10A8 | 6.00 and higher | passes wParam and
lParam
to HitTestInsertMark method; returns TRUE for success, else FALSE; fails trivially if wParam or lParam is NULL |
|
0x10A9 | 6.00 and higher | passes lParam to
GetInsertMarkRect
method; returns TRUE for success, else FALSE |
|
0x10AA | 6.00 and higher | passes lParam to
SetInsertMarkColor
method; returns indirect result |
|
0x10AB | 6.00 and higher | returns indirect result of GetInsertMarkColor method | |
0x10AD | 6.00 and higher | passes lParam to
SetInfoTip
method; returns TRUE for success, else FALSE |
|
0x10AE | 6.00 and higher | returns indirect result of GetSelectedColumn method | |
0x10AF | 6.00 and higher | returns indirect result of IsGroupViewEnabled method | |
0x10B0 | 6.00 and higher | returns indirect result of GetOutlineColor method | |
0x10B1 | 6.00 and higher | passes lParam to
SetOutlineColor
method; returns indirect result |
|
0x10B2 | 6.00 and higher | translates to SetKeyboardSelected method | |
0x10B3 | 6.00 and higher | calls CancelEditLabel method; returns TRUE |
|
0x10B4 | 6.00 and higher | passes wParam to
MapIndexToId
method; returns indirect result |
|
0x10B5 | 6.00 and higher | passes wParam to
MapIdToIndex
method; returns indirect result |
|
0x10B6 | 6.00 and higher | translates to IsItemVisible method | |
0x10B7 | 6.10 and higher | translates to EditSubItem method | |
0x10B8 | 6.10 and higher | translates to EnsureSubItemVisible method | |
0x10B9 | 6.10 and higher | passes FALSE and lParam to
GetClientRect method; returns TRUE |
|
0x10BA | 6.10 and higher | returns indirect result of GetFocusedColumn method | |
0x10BB | 6.10 and higher | passes wParam to
SetOwnerDataCallback
method; returns TRUE |
|
0x10BC | 6.10 and higher | passes lParam to
RecomputeItems
method; returns TRUE |
|
0x10BD | 6.10 and higher | passes wParam and
lParam
to QueryInterface method; returns TRUE for success, else FALSE |
|
0x10BE | 6.10 and higher | passes lParam to
SetGroupSubsetCount
method; returns TRUE for success, else FALSE; fails trivially if wParam is non-zero |
|
0x10BF | 6.10 and higher | returns indirect result of GetGroupSubsetCount
method; returns zero trivially if wParam or lParam is non-zero |
|
0x10C0 | 6.10 and higher | ||
0x10C1 | 6.10 and higher | ||
0x10C2 | 6.10 and higher | ||
0x10C3 | 6.10 and higher | ||
0x10C4 | 6.10 and higher | ||
0x10C5 | 6.10 and higher | ||
0x10C6 | 6.10 and higher | ||
0x10C7 | 6.10 and higher | ||
0x10C8 | 6.10 and higher | ||
0x10C9 | 6.10 and higher | ||
0x10CA | 6.10 and higher | ||
0x10CB | 6.10 and higher | ||
0x10CC | 6.10 and higher | ||
0x10CD | 6.10 and higher | ||
0x10CE | 6.10 and higher | ||
0x10CF | 6.10 and higher | ||
0x10D0 | 6.10 and higher | ||
0x10D1 | 6.10 and higher | translates to GetSubItemRect method | |
0x10D2 | 6.10 and higher | translates to SetItemState method | |
0x10D3 | 6.10 and higher | translates to GetNextItem method | |
0x10D4 | 6.10 and higher |
Microsoft’s documentation of wParam. The documentation is incorrect, as might anyway be inferred from COMMCTRL.H where it defines the ListView_GetGroupCount macro. The number of groups is returned as the result of the message.
would have the desired number of groups being returned indirectly through a pointer passed in