https://git.reactos.org/?p=reactos.git;a=commitdiff;h=0c7dc4e3e136bfb9bfd1d…
commit 0c7dc4e3e136bfb9bfd1d2598af7780661f0802d
Author: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com>
AuthorDate: Mon Jun 17 20:29:03 2019 +0900
Commit: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com>
CommitDate: Mon Jun 17 20:29:03 2019 +0900
[SDK][INCLUDE] Update msgdump.h and winxx.h (TreeView and ListView support)
---
sdk/include/reactos/msgdump.h | 2027 ++++++++++++++++++++++++++++++++++++++++-
sdk/include/reactos/winxx.h | 908 ++++++++++++++++--
2 files changed, 2860 insertions(+), 75 deletions(-)
diff --git a/sdk/include/reactos/msgdump.h b/sdk/include/reactos/msgdump.h
index c81763b02e6..79341481d4e 100644
--- a/sdk/include/reactos/msgdump.h
+++ b/sdk/include/reactos/msgdump.h
@@ -5,7 +5,7 @@
* COPYRIGHT: Copyright 2018-2019 Katayama Hirofumi MZ
(katayama.hirofumi.mz(a)gmail.com)
*/
#ifndef _INC_MSGDUMP
-#define _INC_MSGDUMP 6 /* Version 6 */
+#define _INC_MSGDUMP 10 /* Version 10 */
/*
* NOTE: MD_msgdump function in this file provides Win32API message dump feature.
@@ -1809,7 +1809,7 @@ static __inline void MSGDUMP_API
MD_Edit_OnSetWordBreakProc(HWND hwnd, EDITWORDBREAKPROC ewbprc)
{
MSGDUMP_TPRINTF(TEXT("%sEM_SETWORDBREAKPROC(hwnd:%p, ewbprc:%p)\n"),
- MSGDUMP_PREFIX, (void *)hwnd, (void *)ewbprc);
+ MSGDUMP_PREFIX, (void *)hwnd, *(void **)&ewbprc);
}
static __inline EDITWORDBREAKPROC MSGDUMP_API
@@ -2630,13 +2630,1565 @@ MD_ScrollBar_OnGetScrollBarInfo(HWND hwnd, LPSCROLLBARINFO
lpsbi)
return FALSE;
}
+static __inline COLORREF MSGDUMP_API
+MD_ListView_OnGetBkColor(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETBKCOLOR(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnSetBkColor(HWND hwnd, COLORREF clrBk)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETBKCOLOR(hwnd:%p, clrBk:0x%08lX)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, clrBk);
+ return FALSE;
+}
+
+static __inline HIMAGELIST MSGDUMP_API
+MD_ListView_OnGetImageList(HWND hwnd, INT iImageList)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETIMAGELIST(hwnd:%p, iImageList:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iImageList);
+ return NULL;
+}
+
+static __inline HIMAGELIST MSGDUMP_API
+MD_ListView_OnSetImageList(HWND hwnd, INT iImageList, HIMAGELIST himl)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETIMAGELIST(hwnd:%p, iImageList:%d,
himl:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iImageList, (void *)himl);
+ return NULL;
+}
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnGetItemCount(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETITEMCOUNT(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnGetItemA(HWND hwnd, LV_ITEMA *pitem)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETITEMA(hwnd:%p, pitem:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)pitem);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnSetItemA(HWND hwnd, const LV_ITEMA *pitem)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETITEMA(hwnd:%p, pitem:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)pitem);
+ return FALSE;
+}
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnInsertItemA(HWND hwnd, const LV_ITEMA *pitem)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_INSERTITEMA(hwnd:%p, pitem:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)pitem);
+ return 0;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnDeleteItem(HWND hwnd, INT i)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_DELETEITEM(hwnd:%p, i:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, i);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnDeleteAllItems(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_DELETEALLITEMS(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnGetCallbackMask(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETCALLBACKMASK(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnSetCallbackMask(HWND hwnd, UINT mask)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETCALLBACKMASK(hwnd:%p, mask:%u)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, mask);
+ return FALSE;
+}
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnGetNextItem(HWND hwnd, INT i, UINT flags)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETNEXTITEM(hwnd:%p, i:%d, flags:%u)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, i, flags);
+ return 0;
+}
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnFindItemA(HWND hwnd, INT iStart, const LV_FINDINFOA *plvfi)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_FINDITEMA(hwnd:%p, iStart:%d, plvfi:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iStart, (void *)plvfi);
+ return 0;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnGetItemRect(HWND hwnd, INT i, RECT *prc)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETITEMRECT(hwnd:%p, i:%d, prc:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, i, (void *)prc);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnSetItemPosition(HWND hwnd, INT i, INT x, INT y)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETITEMPOSITION(hwnd:%p, i:%d, x:%d,
y:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, i, x, y);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnGetItemPosition(HWND hwnd, INT i, POINT *ppt)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETITEMPOSITION(hwnd:%p, i:%d, ppt:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, i, (void *)ppt);
+ return FALSE;
+}
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnGetStringWidthA(HWND hwnd, LPCSTR psz)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETSTRINGWIDTHA(hwnd:%p, psz:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)psz);
+ return 0;
+}
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnHitTest(HWND hwnd, LV_HITTESTINFO *pinfo)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_HITTEST(hwnd:%p, pinfo:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)pinfo);
+ return 0;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnEnsureVisible(HWND hwnd, INT i, BOOL fPartialOK)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_ENSUREVISIBLE(hwnd:%p, i:%d,
fPartialOK:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, i, fPartialOK);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnScroll(HWND hwnd, INT dx, INT dy)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SCROLL(hwnd:%p, dx:%d, dy:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, dx, dy);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnRedrawItems(HWND hwnd, INT iFirst, INT iLast)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_REDRAWITEMS(hwnd:%p, iFirst:%d, iLast:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iFirst, iLast);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnArrange(HWND hwnd, UINT code)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_ARRANGE(hwnd:%p, code:%u)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, code);
+ return FALSE;
+}
+
+static __inline HWND MSGDUMP_API
+MD_ListView_OnEditLabelA(HWND hwnd, INT i)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_EDITLABELA(hwnd:%p, i:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, i);
+ return NULL;
+}
+
+static __inline HWND MSGDUMP_API
+MD_ListView_OnGetEditControl(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETEDITCONTROL(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return NULL;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnGetColumnA(HWND hwnd, INT iCol, LV_COLUMNA *pcol)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETCOLUMNA(hwnd:%p, iCol:%d, pcol:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iCol, (void *)pcol);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnSetColumnA(HWND hwnd, INT iCol, const LV_COLUMNA *pcol)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETCOLUMNA(hwnd:%p, iCol:%d, pcol:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iCol, (const void *)pcol);
+ return FALSE;
+}
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnInsertColumnA(HWND hwnd, INT iCol, const LV_COLUMNA *pcol)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_INSERTCOLUMNA(hwnd:%p, iCol:%d, pcol:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iCol, (const void *)pcol);
+ return 0;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnDeleteColumn(HWND hwnd, INT iCol)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_DELETECOLUMN(hwnd:%p, iCol:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iCol);
+ return FALSE;
+}
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnGetColumnWidth(HWND hwnd, INT iCol)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETCOLUMNWIDTH(hwnd:%p, iCol:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iCol);
+ return 0;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnSetColumnWidth(HWND hwnd, INT iCol, INT cx)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETCOLUMNWIDTH(hwnd:%p, iCol:%d, cx:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iCol, cx);
+ return FALSE;
+}
+
+static __inline HWND MSGDUMP_API
+MD_ListView_OnGetHeader(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETHEADER(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return NULL;
+}
+
+static __inline HIMAGELIST MSGDUMP_API
+MD_ListView_OnCreateDragImage(HWND hwnd, INT i, LPPOINT lpptUpLeft)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_CREATEDRAGIMAGE(hwnd:%p, i:%d,
lpptUpLeft:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, i, (void *)lpptUpLeft);
+ return NULL;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnGetViewRect(HWND hwnd, RECT *prc)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETVIEWRECT(hwnd:%p, prc:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)prc);
+ return FALSE;
+}
+
+static __inline COLORREF MSGDUMP_API
+MD_ListView_OnGetTextColor(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETTEXTCOLOR(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnSetTextColor(HWND hwnd, COLORREF clrText)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETTEXTCOLOR(hwnd:%p, clrText:0x%08lX)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, clrText);
+ return FALSE;
+}
+
+static __inline COLORREF MSGDUMP_API
+MD_ListView_OnGetTextBkColor(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETTEXTBKCOLOR(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnSetTextBkColor(HWND hwnd, COLORREF clrTextBk)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETTEXTBKCOLOR(hwnd:%p,
clrTextBk:0x%08lX)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, clrTextBk);
+ return FALSE;
+}
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnGetTopIndex(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETTOPINDEX(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+}
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnGetCountPerPage(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETCOUNTPERPAGE(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnGetOrigin(HWND hwnd, POINT *ppt)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETORIGIN(hwnd:%p, ppt:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)ppt);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnUpdate(HWND hwnd, INT i)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_UPDATE(hwnd:%p, i:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, i);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnSetItemState(HWND hwnd, INT i, LV_ITEM *lvi)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETITEMSTATE(hwnd:%p, i:%d, lvi:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, i, (void *)lvi);
+ return FALSE;
+}
+
+static __inline UINT MSGDUMP_API
+MD_ListView_OnGetItemState(HWND hwnd, INT i, UINT mask)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETITEMSTATE(hwnd:%p, i:%d, mask:%u)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, i, mask);
+ return 0;
+}
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnGetItemTextA(HWND hwnd, INT i, LV_ITEMA *lvi)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETITEMTEXTA(hwnd:%p, i:%d, lvi:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, i, (void *)lvi);
+ return 0;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnSetItemTextA(HWND hwnd, INT i, const LV_ITEMA *lvi)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETITEMTEXTA(hwnd:%p, i:%d, lvi:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, i, (const void *)lvi);
+ return FALSE;
+}
+
+static __inline void MSGDUMP_API
+MD_ListView_OnSetItemCount(HWND hwnd, INT cItems)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETITEMCOUNT(hwnd:%p, cItems:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, cItems);
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnSortItems(HWND hwnd, LPARAM lPrm, PFNLVCOMPARE pfnCompare)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SORTITEMS(hwnd:%p, lPrm:%p,
pfnCompare:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)lPrm, *(void
**)&pfnCompare);
+ return FALSE;
+}
+
+static __inline void MSGDUMP_API
+MD_ListView_OnSetItemPosition32(HWND hwnd, INT i, const POINT *ppt)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETITEMPOSITION32(hwnd:%p, i:%d, ppt:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, i, (void *)ppt);
+}
+
+static __inline UINT MSGDUMP_API
+MD_ListView_OnGetSelectedCount(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETSELECTEDCOUNT(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+}
+
+static __inline DWORD MSGDUMP_API
+MD_ListView_OnGetItemSpacing(HWND hwnd, BOOL fSmall)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETITEMSPACING(hwnd:%p, fSmall:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, fSmall);
+ return 0;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnGetISearchStringA(HWND hwnd, LPSTR lpsz)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETISEARCHSTRINGA(hwnd:%p, lpsz:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)lpsz);
+ return FALSE;
+}
+
+static __inline DWORD MSGDUMP_API
+MD_ListView_OnSetIconSpacing(HWND hwnd, INT cx, INT cy)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETICONSPACING(hwnd:%p, cx:%d, cy:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, cx, cy);
+ return 0;
+}
+
+static __inline DWORD MSGDUMP_API
+MD_ListView_OnSetExtendedListViewStyle(HWND hwnd, DWORD dwMask, DWORD dw)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETEXTENDEDLISTVIEWSTYLE(hwnd:%p, dwMask:0x%08lX,
dw:0x%08lX)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, dwMask, dw);
+ return 0;
+}
+
+static __inline DWORD MSGDUMP_API
+MD_ListView_OnGetExtendedListViewStyle(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETEXTENDEDLISTVIEWSTYLE(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnGetSubItemRect(HWND hwnd, INT iItem, RECT *prc)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETSUBITEMRECT(hwnd:%p, iItem:%d, prc:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iItem, (void *)prc);
+ return FALSE;
+}
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnSubItemHitTest(HWND hwnd, WPARAM wParam, LPLVHITTESTINFO plvhti)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SUBITEMHITTEST(hwnd:%p, wParam:%p,
plvhti:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)wParam, (void *)plvhti);
+ return 0;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnSetColumnOrderArray(HWND hwnd, INT iCount, LPINT pi)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETCOLUMNORDERARRAY(hwnd:%p, iCount:%d,
pi:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iCount, (void *)pi);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnGetColumnOrderArray(HWND hwnd, INT iCount, LPINT pi)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETCOLUMNORDERARRAY(hwnd:%p, iCount:%d,
pi:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iCount, (void *)pi);
+ return FALSE;
+}
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnSetHotItem(HWND hwnd, INT i)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETHOTITEM(hwnd:%p, i:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, i);
+ return 0;
+}
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnGetHotItem(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETHOTITEM(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+}
+
+static __inline HCURSOR MSGDUMP_API
+MD_ListView_OnSetHotCursor(HWND hwnd, HCURSOR hcur)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETHOTCURSOR(hwnd:%p, hcur:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)hcur);
+ return NULL;
+}
+
+static __inline HCURSOR MSGDUMP_API
+MD_ListView_OnGetHotCursor(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETHOTCURSOR(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return NULL;
+}
+
+static __inline DWORD MSGDUMP_API
+MD_ListView_OnApproximateViewRect(HWND hwnd, INT iWidth, INT iHeight, INT iCount)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_APPROXIMATEVIEWRECT(hwnd:%p, iWidth:%d, iHeight:%d,
iCount:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iWidth, iHeight, iCount);
+ return 0;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnSetWorkAreas(HWND hwnd, INT nWorkAreas, const RECT *prc)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETWORKAREAS(hwnd:%p, nWorkAreas:%d,
prc:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, nWorkAreas, (void *)prc);
+ return FALSE;
+}
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnGetSelectionMark(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETSELECTIONMARK(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+}
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnSetSelectionMark(HWND hwnd, INT i)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETSELECTIONMARK(hwnd:%p, i:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, i);
+ return 0;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnSetBkImageA(HWND hwnd, const LVBKIMAGEA *plvbki)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETBKIMAGEA(hwnd:%p, plvbki:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (const void *)plvbki);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnGetBkImageA(HWND hwnd, LVBKIMAGEA *plvbki)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETBKIMAGEA(hwnd:%p, plvbki:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)plvbki);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnGetWorkAreas(HWND hwnd, INT nWorkAreas, RECT *prc)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETWORKAREAS(hwnd:%p, nWorkAreas:%d,
prc:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, nWorkAreas, (void *)prc);
+ return FALSE;
+}
+
+static __inline DWORD MSGDUMP_API
+MD_ListView_OnSetHoverTime(HWND hwnd, DWORD dwHoverTimeMs)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETHOVERTIME(hwnd:%p,
dwHoverTimeMs:0x%08lX)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, dwHoverTimeMs);
+ return 0;
+}
+
+static __inline DWORD MSGDUMP_API
+MD_ListView_OnGetHoverTime(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETHOVERTIME(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnGetNumberOfWorkAreas(HWND hwnd, UINT *pnWorkAreas)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETNUMBEROFWORKAREAS(hwnd:%p,
pnWorkAreas:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)pnWorkAreas);
+ return FALSE;
+}
+
+static __inline HWND MSGDUMP_API
+MD_ListView_OnSetToolTips(HWND hwnd, HWND hwndNewHwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETTOOLTIPS(hwnd:%p, hwndNewHwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)hwndNewHwnd);
+ return NULL;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnGetItemW(HWND hwnd, LV_ITEMW *pitem)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETITEMW(hwnd:%p, pitem:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)pitem);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnSetItemW(HWND hwnd, const LV_ITEMW *pitem)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETITEMW(hwnd:%p, pitem:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (const void *)pitem);
+ return FALSE;
+}
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnInsertItemW(HWND hwnd, const LV_ITEMW *pitem)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_INSERTITEMW(hwnd:%p, pitem:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (const void *)pitem);
+ return 0;
+}
+
+static __inline HWND MSGDUMP_API
+MD_ListView_OnGetToolTips(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETTOOLTIPS(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return NULL;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnSortItemsEx(HWND hwnd, PFNLVCOMPARE pfnCompare, LPARAM lPrm)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SORTITEMSEX(hwnd:%p, pfnCompare:%p,
lPrm:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, *(void **)&pfnCompare, (void
*)lPrm);
+ return FALSE;
+}
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnFindItemW(HWND hwnd, INT iStart, const LV_FINDINFOW *plvfi)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_FINDITEMW(hwnd:%p, iStart:%d, plvfi:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iStart, (void *)plvfi);
+ return 0;
+}
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnGetStringWidthW(HWND hwnd, LPCWSTR psz)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETSTRINGWIDTHW(hwnd:%p, psz:%ls)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, psz);
+ return 0;
+}
+
+#if NTDDI_VERSION >= 0x06000000
+ static __inline UINT MSGDUMP_API
+ MD_ListView_OnGetGroupState(HWND hwnd, DWORD dwGroupId, DWORD dwMask)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETGROUPSTATE(hwnd:%p, dwGroupId:0x%08lX,
dwMask:0x%08lX)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, dwGroupId, dwMask);
+ return 0;
+ }
+
+ static __inline INT MSGDUMP_API
+ MD_ListView_OnGetFocusedGroup(HWND hwnd)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETFOCUSEDGROUP(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+ }
+#endif
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnGetColumnW(HWND hwnd, INT iCol)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETCOLUMNW(hwnd:%p, iCol:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iCol);
+ return 0;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnSetColumnW(HWND hwnd, INT iCol, INT cx)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETCOLUMNW(hwnd:%p, iCol:%d, cx:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iCol, cx);
+ return 0;
+}
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnInsertColumnW(HWND hwnd, INT iCol, const LV_COLUMNW *pcol)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_INSERTCOLUMNW(hwnd:%p, iCol:%d, pcol:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iCol, (const void *)pcol);
+ return 0;
+}
+
+#if NTDDI_VERSION >= 0x06000000
+ static __inline BOOL MSGDUMP_API
+ MD_ListView_OnGetGroupRect(HWND hwnd, INT iGroupId, RECT *prc)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETGROUPRECT(hwnd:%p, iGroupId:%d,
prc:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iGroupId, (void *)prc);
+ return FALSE;
+ }
+#endif
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnGetItemTextW(HWND hwnd, INT i, LV_ITEMW *pitem)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETITEMTEXTW(hwnd:%p, i:%d, pitem:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, i, (void *)pitem);
+ return 0;
+}
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnSetItemTextW(HWND hwnd, INT i, const LV_ITEMW *pitem)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETITEMTEXTW(hwnd:%p, i:%d, pitem:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, i, (const void *)pitem);
+ return 0;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnGetISearchStringW(HWND hwnd, LPWSTR lpsz)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETISEARCHSTRINGW(hwnd:%p, lpsz:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)lpsz);
+ return FALSE;
+}
+
+static __inline HWND MSGDUMP_API
+MD_ListView_OnEditLabelW(HWND hwnd, INT i)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_EDITLABELW(hwnd:%p, i:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, i);
+ return NULL;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnSetBkImageW(HWND hwnd, const LVBKIMAGEW *plvbki)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETBKIMAGEW(hwnd:%p, plvbki:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (const void *)plvbki);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnGetBkImageW(HWND hwnd, LVBKIMAGEW *plvbki)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETBKIMAGEW(hwnd:%p, plvbki:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)plvbki);
+ return FALSE;
+}
+
+static __inline void MSGDUMP_API
+MD_ListView_OnSetSelectedColumn(HWND hwnd, INT iCol)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETSELECTEDCOLUMN(hwnd:%p, iCol:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iCol);
+}
+
+static __inline LRESULT MSGDUMP_API
+MD_ListView_OnSetTileWidth(HWND hwnd, WPARAM wParam, LPARAM lParam)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETTILEWIDTH(hwnd:%p, wParam:%p,
lParam:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)wParam, (void *)lParam);
+ return 0;
+}
+
+static __inline DWORD MSGDUMP_API
+MD_ListView_OnSetView(HWND hwnd, DWORD iView)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETVIEW(hwnd:%p, iView:0x%08lX)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iView);
+ return 0;
+}
+
+static __inline DWORD MSGDUMP_API
+MD_ListView_OnGetView(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETVIEW(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+}
+
+#if NTDDI_VERSION >= 0x06000000
+ static __inline INT MSGDUMP_API
+ MD_ListView_OnInsertGroup(HWND hwnd, INT iGroupId, const LVGROUP *pGroup)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_INSERTGROUP(hwnd:%p, iGroupId:%d,
pGroup:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iGroupId, (const void *)pGroup);
+ return 0;
+ }
+
+ static __inline INT MSGDUMP_API
+ MD_ListView_OnSetGroupInfo(HWND hwnd, INT iGroupId, const LVGROUP *pGroup)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETGROUPINFO(hwnd:%p, iGroupId:%d,
pGroup:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iGroupId, (const void *)pGroup);
+ return 0;
+ }
+
+ static __inline INT MSGDUMP_API
+ MD_ListView_OnGetGroupInfo(HWND hwnd, INT iGroupId, LVGROUP *pGroup)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETGROUPINFO(hwnd:%p, iGroupId:%d,
pGroup:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iGroupId, (void *)pGroup);
+ return 0;
+ }
+
+ static __inline INT MSGDUMP_API
+ MD_ListView_OnRemoveGroup(HWND hwnd, INT iGroupId)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_REMOVEGROUP(hwnd:%p, iGroupId:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iGroupId);
+ return 0;
+ }
+
+ static __inline LRESULT MSGDUMP_API
+ MD_ListView_OnMoveGroup(HWND hwnd, WPARAM wParam, LPARAM lParam)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_MOVEGROUP(hwnd:%p, wParam:%p,
lParam:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, wParam, lParam);
+ return 0;
+ }
+
+ static __inline INT MSGDUMP_API
+ MD_ListView_OnGetGroupCount(HWND hwnd)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETGROUPCOUNT(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+ }
+
+ static __inline BOOL MSGDUMP_API
+ MD_ListView_OnGetGroupInfoByIndex(HWND hwnd, INT iIndex, LVGROUP *pgrp)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETGROUPINFOBYINDEX(hwnd:%p, iIndex:%d,
pgrp:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iIndex, (void *)pgrp);
+ return FALSE;
+ }
+
+ static __inline LRESULT MSGDUMP_API
+ MD_ListView_OnMoveItemToGroup(HWND hwnd, WPARAM wParam, LPARAM lParam)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_MOVEITEMTOGROUP(hwnd:%p, wParam:%p,
lParam:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)wParam, (void *)lParam);
+ return 0;
+ }
+
+ static __inline void MSGDUMP_API
+ MD_ListView_OnSetGroupMetrics(HWND hwnd, const LVGROUPMETRICS *pGroupMetrics)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETGROUPMETRICS(hwnd:%p,
pGroupMetrics:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (const void *)pGroupMetrics);
+ }
+
+ static __inline void MSGDUMP_API
+ MD_ListView_OnGetGroupMetrics(HWND hwnd, LVGROUPMETRICS *pGroupMetrics)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETGROUPMETRICS(hwnd:%p,
pGroupMetrics:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)pGroupMetrics);
+ }
+
+ static __inline INT MSGDUMP_API
+ MD_ListView_OnEnableGroupView(HWND hwnd, BOOL fEnable)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_ENABLEGROUPVIEW(hwnd:%p, fEnable:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, fEnable);
+ return 0;
+ }
+
+ static __inline BOOL MSGDUMP_API
+ MD_ListView_OnSortGroups(HWND hwnd, PFNLVGROUPCOMPARE pfnGroupCompate, void *plv)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SORTGROUPS(hwnd:%p, pfnGroupCompate:%p,
plv:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, *(void **)&pfnGroupCompate,
plv);
+ return FALSE;
+ }
+
+ static __inline void MSGDUMP_API
+ MD_ListView_OnInsertGroupSorted(HWND hwnd, const LVINSERTGROUPSORTED *structInsert)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_INSERTGROUPSORTED(hwnd:%p,
structInsert:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)structInsert);
+ }
+
+ static __inline void MSGDUMP_API
+ MD_ListView_OnRemoveAllGroups(HWND hwnd)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_REMOVEALLGROUPS(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ }
+
+ static __inline BOOL MSGDUMP_API
+ MD_ListView_OnHasGroup(HWND hwnd, DWORD dwGroupId)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_HASGROUP(hwnd:%p, dwGroupId:0x%08lX)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, dwGroupId);
+ return FALSE;
+ }
+#endif
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnSetTileViewInfo(HWND hwnd, const LVTILEVIEWINFO *ptvi)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETTILEVIEWINFO(hwnd:%p, ptvi:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (const void *)ptvi);
+ return FALSE;
+}
+
+static __inline void MSGDUMP_API
+MD_ListView_OnGetTileViewInfo(HWND hwnd, LVTILEVIEWINFO *ptvi)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETTILEVIEWINFO(hwnd:%p, ptvi:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)ptvi);
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnSetTileInfo(HWND hwnd, const LVTILEINFO *pti)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETTILEINFO(hwnd:%p, pti:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (const void *)pti);
+ return FALSE;
+}
+
+static __inline void MSGDUMP_API
+MD_ListView_OnGetTileInfo(HWND hwnd, LVTILEINFO *pti)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETTILEINFO(hwnd:%p, pti:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)pti);
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnSetInsertMark(HWND hwnd, const LVINSERTMARK *lvim)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETINSERTMARK(hwnd:%p, lvim:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (const void *)lvim);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnGetInsertMark(HWND hwnd, LVINSERTMARK *lvim)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETINSERTMARK(hwnd:%p, lvim:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)lvim);
+ return FALSE;
+}
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnInsertMarkHitTest(HWND hwnd, LPPOINT point, LPLVINSERTMARK lvim)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_INSERTMARKHITTEST(hwnd:%p, point:%p,
lvim:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)point, (void *)lvim);
+ return 0;
+}
+
+static __inline INT MSGDUMP_API
+MD_ListView_OnGetInsertMarkRect(HWND hwnd, LPRECT rc)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETINSERTMARKRECT(hwnd:%p, rc:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)rc);
+ return 0;
+}
+
+static __inline COLORREF MSGDUMP_API
+MD_ListView_OnSetInsertMarkColor(HWND hwnd, COLORREF color)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETINSERTMARKCOLOR(hwnd:%p,
color:0x%08lX)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, color);
+ return 0;
+}
+
+static __inline COLORREF MSGDUMP_API
+MD_ListView_OnGetInsertMarkColor(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETINSERTMARKCOLOR(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnSetInfoTip(HWND hwnd, const LVSETINFOTIP *plvInfoTip)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETINFOTIP(hwnd:%p, plvInfoTip:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (const void *)plvInfoTip);
+ return FALSE;
+}
+
+static __inline UINT MSGDUMP_API
+MD_ListView_OnGetSelectedColumn(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETSELECTEDCOLUMN(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnIsGroupViewEnabled(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_ISGROUPVIEWENABLED(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return FALSE;
+}
+
+static __inline COLORREF MSGDUMP_API
+MD_ListView_OnGetOutlineColor(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETOUTLINECOLOR(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+}
+
+static __inline COLORREF MSGDUMP_API
+MD_ListView_OnSetOutlineColor(HWND hwnd, COLORREF color)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETOUTLINECOLOR(hwnd:%p, color:0x%08lX)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, color);
+ return 0;
+}
+
+static __inline void MSGDUMP_API
+MD_ListView_OnCancelEditLabel(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_CANCELEDITLABEL(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+}
+
+static __inline UINT MSGDUMP_API
+MD_ListView_OnMapIndexToID(HWND hwnd, UINT index)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_MAPINDEXTOID(hwnd:%p, index:%u)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, index);
+ return 0;
+}
+
+static __inline UINT MSGDUMP_API
+MD_ListView_OnMapIDToIndex(HWND hwnd, UINT id)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_MAPIDTOINDEX(hwnd:%p, id:%u)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, id);
+ return 0;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_ListView_OnIsItemVisible(HWND hwnd, UINT index)
+{
+ MSGDUMP_TPRINTF(TEXT("%sLVM_ISITEMVISIBLE(hwnd:%p, index:%u)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, index);
+ return FALSE;
+}
+
+#if NTDDI_VERSION >= 0x06000000
+ static __inline void MSGDUMP_API
+ MD_ListView_OnGetEmptyText(HWND hwnd, PWSTR pszText, UINT cchText)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETEMPTYTEXT(hwnd:%p, pszText:%p,
cchText:%u)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)pszText, cchText);
+ }
+
+ static __inline BOOL MSGDUMP_API
+ MD_ListView_OnGetFooterRect(HWND hwnd, RECT *prc)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETFOOTERRECT(hwnd:%p, prc:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)prc);
+ return FALSE;
+ }
+
+ static __inline BOOL MSGDUMP_API
+ MD_ListView_OnGetFooterInfo(HWND hwnd, LVFOOTERINFO *plvfi)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETFOOTERINFO(hwnd:%p, plvfi:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)plvfi);
+ return FALSE;
+ }
+
+ static __inline BOOL MSGDUMP_API
+ MD_ListView_OnGetFooterItemRect(HWND hwnd, INT iItem, RECT *prc)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETFOOTERITEMRECT(hwnd:%p, iItem:%d,
prc:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iItem, (void *)prc);
+ return FALSE;
+ }
+
+ static __inline BOOL MSGDUMP_API
+ MD_ListView_OnGetFooterItem(HWND hwnd, INT iItem, LVFOOTERITEM *pfi)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETFOOTERITEM(hwnd:%p, iItem:%d,
pfi:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iItem, (void *)pfi);
+ return FALSE;
+ }
+
+ static __inline BOOL MSGDUMP_API
+ MD_ListView_OnGetItemIndexRect(HWND hwnd, const LVITEMINDEX *plvii, RECT *prc)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETITEMINDEXRECT(hwnd:%p, plvii:%p,
prc:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)plvii, (void *)prc);
+ return FALSE;
+ }
+
+ static __inline HRESULT MSGDUMP_API
+ MD_ListView_OnSetItemIndexState(HWND hwnd, const LVITEMINDEX *plvii, const LV_ITEM
*lvi)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_SETITEMINDEXSTATE(hwnd:%p, plvii:%p,
lvi:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (const void *)plvii, (const void
*)lvi);
+ return 0;
+ }
+
+ static __inline BOOL MSGDUMP_API
+ MD_ListView_OnGetNextItemIndex(HWND hwnd, LVITEMINDEX *plvii, UINT flags)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sLVM_GETNEXTITEMINDEX(hwnd:%p, plvii:%p,
flags:%u)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (const void *)plvii, flags);
+ return 0;
+ }
+#endif
+
+static __inline HTREEITEM MSGDUMP_API
+MD_TreeView_OnInsertItemA(HWND hwnd, LPTV_INSERTSTRUCTA lpis)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_INSERTITEMA(hwnd:%p, lpis:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)lpis);
+ return NULL;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_TreeView_OnDeleteItem(HWND hwnd, HTREEITEM hitem)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_DELETEITEM(hwnd:%p, hitem:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)hitem);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_TreeView_OnExpand(HWND hwnd, HTREEITEM hitem, UINT code)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_EXPAND(hwnd:%p, hitem:%p, code:%u)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)hitem, code);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_TreeView_OnGetItemRect(HWND hwnd, UINT code, RECT *prc)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_GETITEMRECT(hwnd:%p, code:%u, prc:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, code, (void *)prc);
+ return FALSE;
+}
+
+static __inline UINT MSGDUMP_API
+MD_TreeView_OnGetCount(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_GETCOUNT(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+}
+
+static __inline UINT MSGDUMP_API
+MD_TreeView_OnGetIndent(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_GETINDENT(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_TreeView_OnSetIndent(HWND hwnd, INT indent)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_SETINDENT(hwnd:%p, indent:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, indent);
+ return FALSE;
+}
+
+static __inline HIMAGELIST MSGDUMP_API
+MD_TreeView_OnGetImageList(HWND hwnd, INT iImage)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_GETIMAGELIST(hwnd:%p, iImage:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iImage);
+ return NULL;
+}
+
+static __inline HIMAGELIST MSGDUMP_API
+MD_TreeView_OnSetImageList(HWND hwnd, INT iImage, HIMAGELIST himl)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_GETIMAGELIST(hwnd:%p, iImage:%d, himl:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iImage, (void *)himl);
+ return NULL;
+}
+
+static __inline HTREEITEM MSGDUMP_API
+MD_TreeView_OnGetNextItem(HWND hwnd, HTREEITEM hitem, UINT code)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_GETNEXTITEM(hwnd:%p, hitem:%p, code:%u)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)hitem, code);
+ return NULL;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_TreeView_OnSelectItem(HWND hwnd, UINT code, HTREEITEM hitem)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_SELECTITEM(hwnd:%p, code:%u, hitem:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, code, (void *)hitem);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_TreeView_OnGetItemA(HWND hwnd, TV_ITEMA *pitem)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_GETITEMA(hwnd:%p, pitem:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)pitem);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_TreeView_OnSetItemA(HWND hwnd, const TV_ITEMA *pitem)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_SETITEMA(hwnd:%p, pitem:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (const void *)pitem);
+ return FALSE;
+}
+
+static __inline HWND MSGDUMP_API
+MD_TreeView_OnEditLabelA(HWND hwnd, HTREEITEM hitem)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_EDITLABELA(hwnd:%p, hitem:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)hitem);
+ return NULL;
+}
+
+static __inline HWND MSGDUMP_API
+MD_TreeView_OnGetEditControl(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_GETEDITCONTROL(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return NULL;
+}
+
+static __inline UINT MSGDUMP_API
+MD_TreeView_OnGetVisibleCount(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_GETVISIBLECOUNT(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+}
+
+static __inline HTREEITEM MSGDUMP_API
+MD_TreeView_OnHitTest(HWND hwnd, LPTV_HITTESTINFO lpht)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_HITTEST(hwnd:%p, lpht:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)lpht);
+ return NULL;
+}
+
+static __inline HIMAGELIST MSGDUMP_API
+MD_TreeView_OnCreateDragImage(HWND hwnd, HTREEITEM hitem)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_CREATEDRAGIMAGE(hwnd:%p, hitem:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)hitem);
+ return NULL;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_TreeView_OnSortChildren(HWND hwnd, HTREEITEM hitem, BOOL recurse)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_SORTCHILDREN(hwnd:%p, hitem:%p,
recurse:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)hitem, recurse);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_TreeView_OnEnsureVisible(HWND hwnd, HTREEITEM hitem)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_ENSUREVISIBLE(hwnd:%p, hitem:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)hitem);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_TreeView_OnSortChildrenCB(HWND hwnd, LPTV_SORTCB psort, BOOL recurse)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_SORTCHILDRENCB(hwnd:%p, psort:%p,
recurse:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)psort, recurse);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_TreeView_OnEndEditLabelNow(HWND hwnd, BOOL fCancel)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_ENDEDITLABELNOW(hwnd:%p, fCancel:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, fCancel);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_TreeView_OnGetISearchStringA(HWND hwnd, LPSTR lpsz)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_GETISEARCHSTRINGA(hwnd:%p, lpsz:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)lpsz);
+ return FALSE;
+}
+
+static __inline HWND MSGDUMP_API
+MD_TreeView_OnSetToolTips(HWND hwnd, HWND hwndTT)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_SETTOOLTIPS(hwnd:%p, hwndTT:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)hwndTT);
+ return NULL;
+}
+
+static __inline HWND MSGDUMP_API
+MD_TreeView_OnGetToolTips(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_GETTOOLTIPS(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return NULL;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_TreeView_OnSetInsertMark(HWND hwnd, HTREEITEM hItem, BOOL fAfter)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_SETINSERTMARK(hwnd:%p, hItem:%p,
fAfter:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)hItem, fAfter);
+ return FALSE;
+}
+
+static __inline INT MSGDUMP_API
+MD_TreeView_OnSetItemHeight(HWND hwnd, INT iHeight)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_SETITEMHEIGHT(hwnd:%p, iHeight:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, iHeight);
+ return 0;
+}
+
+static __inline INT MSGDUMP_API
+MD_TreeView_OnGetItemHeight(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_GETITEMHEIGHT(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+}
+
+static __inline COLORREF MSGDUMP_API
+MD_TreeView_OnSetBkColor(HWND hwnd, COLORREF clr)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_SETBKCOLOR(hwnd:%p, clr:0x%08lX)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, clr);
+ return 0;
+}
+
+static __inline COLORREF MSGDUMP_API
+MD_TreeView_OnSetTextColor(HWND hwnd, COLORREF clr)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_SETTEXTCOLOR(hwnd:%p, clr:0x%08lX)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, clr);
+ return 0;
+}
+
+static __inline COLORREF MSGDUMP_API
+MD_TreeView_OnGetBkColor(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_GETBKCOLOR(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+}
+
+static __inline COLORREF MSGDUMP_API
+MD_TreeView_OnGetTextColor(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_GETTEXTCOLOR(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+}
+
+static __inline UINT MSGDUMP_API
+MD_TreeView_OnSetScrollTime(HWND hwnd, UINT uTime)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_SETSCROLLTIME(hwnd:%p, uTime:%u)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, uTime);
+ return 0;
+}
+
+static __inline UINT MSGDUMP_API
+MD_TreeView_OnGetScrollTime(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_GETSCROLLTIME(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+}
+
+#if NTDDI_VERSION >= 0x06000000
+ static __inline INT MSGDUMP_API
+ MD_TreeView_OnSetBorder(HWND hwnd, DWORD dwFlags, INT xBorder, INT yBorder)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sTVM_SETBORDER(hwnd:%p, dwFlags:0x%08lX, xBorder:%d,
yBorder:%d)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, dwFlags, xBorder, yBorder);
+ return 0;
+ }
+#endif
+
+static __inline COLORREF MSGDUMP_API
+MD_TreeView_OnSetInsertMarkColor(HWND hwnd, COLORREF clr)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_SETINSERTMARKCOLOR(hwnd:%p, clr:0x%08lX)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, clr);
+ return 0;
+}
+
+static __inline COLORREF MSGDUMP_API
+MD_TreeView_OnGetInsertMarkColor(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_GETINSERTMARKCOLOR(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+}
+
+static __inline UINT MSGDUMP_API
+MD_TreeView_OnGetItemState(HWND hwnd, HTREEITEM hti, UINT mask)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_GETITEMSTATE(hwnd:%p, hti:%p, mask:%u)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)hti, mask);
+ return 0;
+}
+
+static __inline COLORREF MSGDUMP_API
+MD_TreeView_OnSetLineColor(HWND hwnd, COLORREF clr)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_SETLINECOLOR(hwnd:%p, clr:0x%08lX)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, clr);
+ return 0;
+}
+
+static __inline COLORREF MSGDUMP_API
+MD_TreeView_OnGetLineColor(HWND hwnd)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_GETLINECOLOR(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+}
+
+static __inline HTREEITEM MSGDUMP_API
+MD_TreeView_OnMapAccIDToHTREEITEM(HWND hwnd, UINT id)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_MAPACCIDTOHTREEITEM(hwnd:%p, id:%u)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, id);
+ return NULL;
+}
+
+static __inline UINT MSGDUMP_API
+MD_TreeView_OnMapHTREEITEMToAccID(HWND hwnd, HTREEITEM htreeitem)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_MAPHTREEITEMTOACCID(hwnd:%p,
htreeitem:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)htreeitem);
+ return 0;
+}
+
+#if NTDDI_VERSION >= 0x06000000
+ static __inline DWORD MSGDUMP_API
+ MD_TreeView_OnSetExtendedStyle(HWND hwnd, DWORD dw, DWORD mask)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sTVM_SETEXTENDEDSTYLE(hwnd:%p, dw:0x%08lX,
mask:0x%08lX)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, dw, mask);
+ return 0;
+ }
+
+ static __inline DWORD MSGDUMP_API
+ MD_TreeView_OnGetExtendedStyle(HWND hwnd)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sTVM_GETEXTENDEDSTYLE(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+ }
+#endif
+
+static __inline HTREEITEM MSGDUMP_API
+MD_TreeView_OnInsertItemW(HWND hwnd, LPTV_INSERTSTRUCTW lpis)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_INSERTITEMW(hwnd:%p, lpis:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)lpis);
+ return NULL;
+}
+
+#if NTDDI_VERSION >= 0x06000000
+ static __inline BOOL MSGDUMP_API
+ MD_TreeView_OnSetHot(HWND hwnd, HTREEITEM hitem)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sTVM_SETHOT(hwnd:%p, hitem:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)hitem);
+ return FALSE;
+ }
+
+ static __inline BOOL MSGDUMP_API
+ MD_TreeView_OnSetAutoScrollInfo(HWND hwnd, UINT uPixPerSec, UINT uUpdateTime)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sTVM_SETAUTOSCROLLINFO(hwnd:%p, uPixPerSec:%u,
uUpdateTime:%u)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, uPixPerSec, uUpdateTime);
+ return FALSE;
+ }
+#endif
+
+static __inline BOOL MSGDUMP_API
+MD_TreeView_OnGetItemW(HWND hwnd, TV_ITEMW *pitem)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_GETITEMW(hwnd:%p, pitem:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)pitem);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_TreeView_OnSetItemW(HWND hwnd, const TV_ITEMW *pitem)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_SETITEMW(hwnd:%p, pitem:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (const void *)pitem);
+ return FALSE;
+}
+
+static __inline BOOL MSGDUMP_API
+MD_TreeView_OnGetISearchStringW(HWND hwnd, LPWSTR lpsz)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_GETISEARCHSTRINGW(hwnd:%p, lpsz:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)lpsz);
+ return FALSE;
+}
+
+static __inline HWND MSGDUMP_API
+MD_TreeView_OnEditLabelW(HWND hwnd, HTREEITEM hitem)
+{
+ MSGDUMP_TPRINTF(TEXT("%sTVM_EDITLABELW(hwnd:%p, hitem:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)hitem);
+ return NULL;
+}
+
+#if NTDDI_VERSION >= 0x06000000
+ static __inline DWORD MSGDUMP_API
+ MD_TreeView_OnGetSelectedCount(HWND hwnd)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sTVM_GETSELECTEDCOUNT(hwnd:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd);
+ return 0;
+ }
+
+ static __inline DWORD MSGDUMP_API
+ MD_TreeView_OnShowInfoTip(HWND hwnd, HTREEITEM hitem)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sTVM_SHOWINFOTIP(hwnd:%p, hitem:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)hitem);
+ return 0;
+ }
+
+ static __inline LRESULT MSGDUMP_API
+ MD_TreeView_OnGetItemPartRect(HWND hwnd, WPARAM wParam, LPARAM lParam)
+ {
+ MSGDUMP_TPRINTF(TEXT("%sTVM_GETITEMPARTRECT(hwnd:%p, wParam:%p,
lParam:%p)\n"),
+ MSGDUMP_PREFIX, (void *)hwnd, (void *)wParam, (void *)lParam);
+ return 0;
+ }
+#endif
+
static __inline LRESULT MSGDUMP_API
MD_msgdump(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
- TCHAR szClass[32];
+ TCHAR szClass[24], sz[2];
szClass[0] = 0;
GetClassName(hwnd, szClass, ARRAYSIZE(szClass));
- if (lstrcmpi(szClass, TEXT("EDIT")) == 0)
+ sz[0] = szClass[0];
+ sz[1] = 0;
+ CharUpper(sz);
+ if (sz[0] == TEXT('E') && lstrcmpi(szClass, TEXT("EDIT"))
== 0)
{
switch (uMsg)
{
@@ -2680,7 +4232,7 @@ MD_msgdump(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
HANDLE_MSG(hwnd, EM_GETIMESTATUS, MD_Edit_OnGetIMEStatus);
}
}
- else if (lstrcmpi(szClass, TEXT("STATIC")) == 0)
+ else if (sz[0] == TEXT('S') && lstrcmpi(szClass,
TEXT("STATIC")) == 0)
{
switch (uMsg)
{
@@ -2690,7 +4242,7 @@ MD_msgdump(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
HANDLE_MSG(hwnd, STM_GETIMAGE, MD_Static_OnGetImage);
}
}
- else if (lstrcmpi(szClass, TEXT("LISTBOX")) == 0)
+ else if (sz[0] == TEXT('L') && lstrcmpi(szClass,
TEXT("LISTBOX")) == 0)
{
switch (uMsg)
{
@@ -2736,7 +4288,7 @@ MD_msgdump(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
HANDLE_MSG(hwnd, LB_ITEMFROMPOINT, MD_ListBox_OnItemFromPoint);
}
}
- else if (lstrcmpi(szClass, TEXT("COMBOBOX")) == 0)
+ else if (sz[0] == TEXT('C') && lstrcmpi(szClass,
TEXT("COMBOBOX")) == 0)
{
switch (uMsg)
{
@@ -2776,7 +4328,7 @@ MD_msgdump(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
HANDLE_MSG(hwnd, CB_INITSTORAGE, MD_ComboBox_OnInitStorage);
}
}
- else if (lstrcmpi(szClass, TEXT("SCROLLBAR")) == 0)
+ else if (sz[0] == TEXT('S') && lstrcmpi(szClass,
TEXT("SCROLLBAR")) == 0)
{
switch (uMsg)
{
@@ -2791,6 +4343,227 @@ MD_msgdump(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
HANDLE_MSG(hwnd, SBM_GETSCROLLBARINFO, MD_ScrollBar_OnGetScrollBarInfo);
}
}
+ else if (sz[0] == TEXT('S') && lstrcmpi(szClass, WC_LISTVIEW) == 0)
+ {
+ switch (uMsg)
+ {
+ HANDLE_MSG(hwnd, LVM_GETBKCOLOR, MD_ListView_OnGetBkColor);
+ HANDLE_MSG(hwnd, LVM_SETBKCOLOR, MD_ListView_OnSetBkColor);
+ HANDLE_MSG(hwnd, LVM_GETIMAGELIST, MD_ListView_OnGetImageList);
+ HANDLE_MSG(hwnd, LVM_SETIMAGELIST, MD_ListView_OnSetImageList);
+ HANDLE_MSG(hwnd, LVM_GETITEMCOUNT, MD_ListView_OnGetItemCount);
+ HANDLE_MSG(hwnd, LVM_GETITEMA, MD_ListView_OnGetItemA);
+ HANDLE_MSG(hwnd, LVM_SETITEMA, MD_ListView_OnSetItemA);
+ HANDLE_MSG(hwnd, LVM_INSERTITEMA, MD_ListView_OnInsertItemA);
+ HANDLE_MSG(hwnd, LVM_DELETEITEM, MD_ListView_OnDeleteItem);
+ HANDLE_MSG(hwnd, LVM_DELETEALLITEMS, MD_ListView_OnDeleteAllItems);
+ HANDLE_MSG(hwnd, LVM_GETCALLBACKMASK, MD_ListView_OnGetCallbackMask);
+ HANDLE_MSG(hwnd, LVM_SETCALLBACKMASK, MD_ListView_OnSetCallbackMask);
+ HANDLE_MSG(hwnd, LVM_GETNEXTITEM, MD_ListView_OnGetNextItem);
+ HANDLE_MSG(hwnd, LVM_FINDITEMA, MD_ListView_OnFindItemA);
+ HANDLE_MSG(hwnd, LVM_GETITEMRECT, MD_ListView_OnGetItemRect);
+ HANDLE_MSG(hwnd, LVM_SETITEMPOSITION, MD_ListView_OnSetItemPosition);
+ HANDLE_MSG(hwnd, LVM_GETITEMPOSITION, MD_ListView_OnGetItemPosition);
+ HANDLE_MSG(hwnd, LVM_GETSTRINGWIDTHA, MD_ListView_OnGetStringWidthA);
+ HANDLE_MSG(hwnd, LVM_HITTEST, MD_ListView_OnHitTest);
+ HANDLE_MSG(hwnd, LVM_ENSUREVISIBLE, MD_ListView_OnEnsureVisible);
+ HANDLE_MSG(hwnd, LVM_SCROLL, MD_ListView_OnScroll);
+ HANDLE_MSG(hwnd, LVM_REDRAWITEMS, MD_ListView_OnRedrawItems);
+ HANDLE_MSG(hwnd, LVM_ARRANGE, MD_ListView_OnArrange);
+ HANDLE_MSG(hwnd, LVM_EDITLABELA, MD_ListView_OnEditLabelA);
+ HANDLE_MSG(hwnd, LVM_GETEDITCONTROL, MD_ListView_OnGetEditControl);
+ HANDLE_MSG(hwnd, LVM_GETCOLUMNA, MD_ListView_OnGetColumnA);
+ HANDLE_MSG(hwnd, LVM_SETCOLUMNA, MD_ListView_OnSetColumnA);
+ HANDLE_MSG(hwnd, LVM_INSERTCOLUMNA, MD_ListView_OnInsertColumnA);
+ HANDLE_MSG(hwnd, LVM_DELETECOLUMN, MD_ListView_OnDeleteColumn);
+ HANDLE_MSG(hwnd, LVM_GETCOLUMNWIDTH, MD_ListView_OnGetColumnWidth);
+ HANDLE_MSG(hwnd, LVM_SETCOLUMNWIDTH, MD_ListView_OnSetColumnWidth);
+ HANDLE_MSG(hwnd, LVM_GETHEADER, MD_ListView_OnGetHeader);
+ HANDLE_MSG(hwnd, LVM_CREATEDRAGIMAGE, MD_ListView_OnCreateDragImage);
+ HANDLE_MSG(hwnd, LVM_GETVIEWRECT, MD_ListView_OnGetViewRect);
+ HANDLE_MSG(hwnd, LVM_GETTEXTCOLOR, MD_ListView_OnGetTextColor);
+ HANDLE_MSG(hwnd, LVM_SETTEXTCOLOR, MD_ListView_OnSetTextColor);
+ HANDLE_MSG(hwnd, LVM_GETTEXTBKCOLOR, MD_ListView_OnGetTextBkColor);
+ HANDLE_MSG(hwnd, LVM_SETTEXTBKCOLOR, MD_ListView_OnSetTextBkColor);
+ HANDLE_MSG(hwnd, LVM_GETTOPINDEX, MD_ListView_OnGetTopIndex);
+ HANDLE_MSG(hwnd, LVM_GETCOUNTPERPAGE, MD_ListView_OnGetCountPerPage);
+ HANDLE_MSG(hwnd, LVM_GETORIGIN, MD_ListView_OnGetOrigin);
+ HANDLE_MSG(hwnd, LVM_UPDATE, MD_ListView_OnUpdate);
+ HANDLE_MSG(hwnd, LVM_SETITEMSTATE, MD_ListView_OnSetItemState);
+ HANDLE_MSG(hwnd, LVM_GETITEMSTATE, MD_ListView_OnGetItemState);
+ HANDLE_MSG(hwnd, LVM_GETITEMTEXTA, MD_ListView_OnGetItemTextA);
+ HANDLE_MSG(hwnd, LVM_SETITEMTEXTA, MD_ListView_OnSetItemTextA);
+ HANDLE_MSG(hwnd, LVM_SETITEMCOUNT, MD_ListView_OnSetItemCount);
+ HANDLE_MSG(hwnd, LVM_SORTITEMS, MD_ListView_OnSortItems);
+ HANDLE_MSG(hwnd, LVM_SETITEMPOSITION32, MD_ListView_OnSetItemPosition32);
+ HANDLE_MSG(hwnd, LVM_GETSELECTEDCOUNT, MD_ListView_OnGetSelectedCount);
+ HANDLE_MSG(hwnd, LVM_GETITEMSPACING, MD_ListView_OnGetItemSpacing);
+ HANDLE_MSG(hwnd, LVM_GETISEARCHSTRINGA, MD_ListView_OnGetISearchStringA);
+ HANDLE_MSG(hwnd, LVM_SETICONSPACING, MD_ListView_OnSetIconSpacing);
+ HANDLE_MSG(hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE,
MD_ListView_OnSetExtendedListViewStyle);
+ HANDLE_MSG(hwnd, LVM_GETEXTENDEDLISTVIEWSTYLE,
MD_ListView_OnGetExtendedListViewStyle);
+ HANDLE_MSG(hwnd, LVM_GETSUBITEMRECT, MD_ListView_OnGetSubItemRect);
+ HANDLE_MSG(hwnd, LVM_SUBITEMHITTEST, MD_ListView_OnSubItemHitTest);
+ HANDLE_MSG(hwnd, LVM_SETCOLUMNORDERARRAY,
MD_ListView_OnSetColumnOrderArray);
+ HANDLE_MSG(hwnd, LVM_GETCOLUMNORDERARRAY,
MD_ListView_OnGetColumnOrderArray);
+ HANDLE_MSG(hwnd, LVM_SETHOTITEM, MD_ListView_OnSetHotItem);
+ HANDLE_MSG(hwnd, LVM_GETHOTITEM, MD_ListView_OnGetHotItem);
+ HANDLE_MSG(hwnd, LVM_SETHOTCURSOR, MD_ListView_OnSetHotCursor);
+ HANDLE_MSG(hwnd, LVM_GETHOTCURSOR, MD_ListView_OnGetHotCursor);
+ HANDLE_MSG(hwnd, LVM_APPROXIMATEVIEWRECT,
MD_ListView_OnApproximateViewRect);
+ HANDLE_MSG(hwnd, LVM_SETWORKAREAS, MD_ListView_OnSetWorkAreas);
+ HANDLE_MSG(hwnd, LVM_GETSELECTIONMARK, MD_ListView_OnGetSelectionMark);
+ HANDLE_MSG(hwnd, LVM_SETSELECTIONMARK, MD_ListView_OnSetSelectionMark);
+ HANDLE_MSG(hwnd, LVM_SETBKIMAGEA, MD_ListView_OnSetBkImageA);
+ HANDLE_MSG(hwnd, LVM_GETBKIMAGEA, MD_ListView_OnGetBkImageA);
+ HANDLE_MSG(hwnd, LVM_GETWORKAREAS, MD_ListView_OnGetWorkAreas);
+ HANDLE_MSG(hwnd, LVM_SETHOVERTIME, MD_ListView_OnSetHoverTime);
+ HANDLE_MSG(hwnd, LVM_GETHOVERTIME, MD_ListView_OnGetHoverTime);
+ HANDLE_MSG(hwnd, LVM_GETNUMBEROFWORKAREAS,
MD_ListView_OnGetNumberOfWorkAreas);
+ HANDLE_MSG(hwnd, LVM_SETTOOLTIPS, MD_ListView_OnSetToolTips);
+ HANDLE_MSG(hwnd, LVM_GETITEMW, MD_ListView_OnGetItemW);
+ HANDLE_MSG(hwnd, LVM_SETITEMW, MD_ListView_OnSetItemW);
+ HANDLE_MSG(hwnd, LVM_INSERTITEMW, MD_ListView_OnInsertItemW);
+ HANDLE_MSG(hwnd, LVM_GETTOOLTIPS, MD_ListView_OnGetToolTips);
+ HANDLE_MSG(hwnd, LVM_SORTITEMSEX, MD_ListView_OnSortItemsEx);
+ HANDLE_MSG(hwnd, LVM_FINDITEMW, MD_ListView_OnFindItemW);
+ HANDLE_MSG(hwnd, LVM_GETSTRINGWIDTHW, MD_ListView_OnGetStringWidthW);
+#if NTDDI_VERSION >= 0x06000000
+ HANDLE_MSG(hwnd, LVM_GETGROUPSTATE, MD_ListView_OnGetGroupState);
+ HANDLE_MSG(hwnd, LVM_GETFOCUSEDGROUP, MD_ListView_OnGetFocusedGroup);
+#endif
+ HANDLE_MSG(hwnd, LVM_GETCOLUMNW, MD_ListView_OnGetColumnW);
+ HANDLE_MSG(hwnd, LVM_SETCOLUMNW, MD_ListView_OnSetColumnW);
+ HANDLE_MSG(hwnd, LVM_INSERTCOLUMNW, MD_ListView_OnInsertColumnW);
+#if NTDDI_VERSION >= 0x06000000
+ HANDLE_MSG(hwnd, LVM_GETGROUPRECT, MD_ListView_OnGetGroupRect);
+#endif
+ HANDLE_MSG(hwnd, LVM_GETITEMTEXTW, MD_ListView_OnGetItemTextW);
+ HANDLE_MSG(hwnd, LVM_SETITEMTEXTW, MD_ListView_OnSetItemTextW);
+ HANDLE_MSG(hwnd, LVM_GETISEARCHSTRINGW, MD_ListView_OnGetISearchStringW);
+ HANDLE_MSG(hwnd, LVM_EDITLABELW, MD_ListView_OnEditLabelW);
+ HANDLE_MSG(hwnd, LVM_SETBKIMAGEW, MD_ListView_OnSetBkImageW);
+ HANDLE_MSG(hwnd, LVM_GETBKIMAGEW, MD_ListView_OnGetBkImageW);
+ HANDLE_MSG(hwnd, LVM_SETSELECTEDCOLUMN, MD_ListView_OnSetSelectedColumn);
+ HANDLE_MSG(hwnd, LVM_SETTILEWIDTH, MD_ListView_OnSetTileWidth);
+ HANDLE_MSG(hwnd, LVM_SETVIEW, MD_ListView_OnSetView);
+ HANDLE_MSG(hwnd, LVM_GETVIEW, MD_ListView_OnGetView);
+#if NTDDI_VERSION >= 0x06000000
+ HANDLE_MSG(hwnd, LVM_INSERTGROUP, MD_ListView_OnInsertGroup);
+ HANDLE_MSG(hwnd, LVM_SETGROUPINFO, MD_ListView_OnSetGroupInfo);
+ HANDLE_MSG(hwnd, LVM_GETGROUPINFO, MD_ListView_OnGetGroupInfo);
+ HANDLE_MSG(hwnd, LVM_REMOVEGROUP, MD_ListView_OnRemoveGroup);
+ HANDLE_MSG(hwnd, LVM_MOVEGROUP, MD_ListView_OnMoveGroup);
+ HANDLE_MSG(hwnd, LVM_GETGROUPCOUNT, MD_ListView_OnGetGroupCount);
+ HANDLE_MSG(hwnd, LVM_GETGROUPINFOBYINDEX,
MD_ListView_OnGetGroupInfoByIndex);
+ HANDLE_MSG(hwnd, LVM_MOVEITEMTOGROUP, MD_ListView_OnMoveItemToGroup);
+ HANDLE_MSG(hwnd, LVM_SETGROUPMETRICS, MD_ListView_OnSetGroupMetrics);
+ HANDLE_MSG(hwnd, LVM_GETGROUPMETRICS, MD_ListView_OnGetGroupMetrics);
+ HANDLE_MSG(hwnd, LVM_ENABLEGROUPVIEW, MD_ListView_OnEnableGroupView);
+ HANDLE_MSG(hwnd, LVM_SORTGROUPS, MD_ListView_OnSortGroups);
+ HANDLE_MSG(hwnd, LVM_INSERTGROUPSORTED, MD_ListView_OnInsertGroupSorted);
+ HANDLE_MSG(hwnd, LVM_REMOVEALLGROUPS, MD_ListView_OnRemoveAllGroups);
+ HANDLE_MSG(hwnd, LVM_HASGROUP, MD_ListView_OnHasGroup);
+#endif
+ HANDLE_MSG(hwnd, LVM_SETTILEVIEWINFO, MD_ListView_OnSetTileViewInfo);
+ HANDLE_MSG(hwnd, LVM_GETTILEVIEWINFO, MD_ListView_OnGetTileViewInfo);
+ HANDLE_MSG(hwnd, LVM_SETTILEINFO, MD_ListView_OnSetTileInfo);
+ HANDLE_MSG(hwnd, LVM_GETTILEINFO, MD_ListView_OnGetTileInfo);
+ HANDLE_MSG(hwnd, LVM_SETINSERTMARK, MD_ListView_OnSetInsertMark);
+ HANDLE_MSG(hwnd, LVM_GETINSERTMARK, MD_ListView_OnGetInsertMark);
+ HANDLE_MSG(hwnd, LVM_INSERTMARKHITTEST, MD_ListView_OnInsertMarkHitTest);
+ HANDLE_MSG(hwnd, LVM_GETINSERTMARKRECT, MD_ListView_OnGetInsertMarkRect);
+ HANDLE_MSG(hwnd, LVM_SETINSERTMARKCOLOR, MD_ListView_OnSetInsertMarkColor);
+ HANDLE_MSG(hwnd, LVM_GETINSERTMARKCOLOR, MD_ListView_OnGetInsertMarkColor);
+ HANDLE_MSG(hwnd, LVM_SETINFOTIP, MD_ListView_OnSetInfoTip);
+ HANDLE_MSG(hwnd, LVM_GETSELECTEDCOLUMN, MD_ListView_OnGetSelectedColumn);
+ HANDLE_MSG(hwnd, LVM_ISGROUPVIEWENABLED, MD_ListView_OnIsGroupViewEnabled);
+ HANDLE_MSG(hwnd, LVM_GETOUTLINECOLOR, MD_ListView_OnGetOutlineColor);
+ HANDLE_MSG(hwnd, LVM_SETOUTLINECOLOR, MD_ListView_OnSetOutlineColor);
+ HANDLE_MSG(hwnd, LVM_CANCELEDITLABEL, MD_ListView_OnCancelEditLabel);
+ HANDLE_MSG(hwnd, LVM_MAPINDEXTOID, MD_ListView_OnMapIndexToID);
+ HANDLE_MSG(hwnd, LVM_MAPIDTOINDEX, MD_ListView_OnMapIDToIndex);
+ HANDLE_MSG(hwnd, LVM_ISITEMVISIBLE, MD_ListView_OnIsItemVisible);
+#if NTDDI_VERSION >= 0x06000000
+ HANDLE_MSG(hwnd, LVM_GETEMPTYTEXT, MD_ListView_OnGetEmptyText);
+ HANDLE_MSG(hwnd, LVM_GETFOOTERRECT, MD_ListView_OnGetFooterRect);
+ HANDLE_MSG(hwnd, LVM_GETFOOTERINFO, MD_ListView_OnGetFooterInfo);
+ HANDLE_MSG(hwnd, LVM_GETFOOTERITEMRECT, MD_ListView_OnGetFooterItemRect);
+ HANDLE_MSG(hwnd, LVM_GETFOOTERITEM, MD_ListView_OnGetFooterItem);
+ HANDLE_MSG(hwnd, LVM_GETITEMINDEXRECT, MD_ListView_OnGetItemIndexRect);
+ HANDLE_MSG(hwnd, LVM_SETITEMINDEXSTATE, MD_ListView_OnSetItemIndexState);
+ HANDLE_MSG(hwnd, LVM_GETNEXTITEMINDEX, MD_ListView_OnGetNextItemIndex);
+#endif
+ }
+ }
+ else if (sz[0] == TEXT('S') && lstrcmpi(szClass, WC_TREEVIEW) == 0)
+ {
+ switch (uMsg)
+ {
+ HANDLE_MSG(hwnd, TVM_INSERTITEMA, MD_TreeView_OnInsertItemA);
+ HANDLE_MSG(hwnd, TVM_DELETEITEM, MD_TreeView_OnDeleteItem);
+ HANDLE_MSG(hwnd, TVM_EXPAND, MD_TreeView_OnExpand);
+ HANDLE_MSG(hwnd, TVM_GETITEMRECT, MD_TreeView_OnGetItemRect);
+ HANDLE_MSG(hwnd, TVM_GETCOUNT, MD_TreeView_OnGetCount);
+ HANDLE_MSG(hwnd, TVM_GETINDENT, MD_TreeView_OnGetIndent);
+ HANDLE_MSG(hwnd, TVM_SETINDENT, MD_TreeView_OnSetIndent);
+ HANDLE_MSG(hwnd, TVM_GETIMAGELIST, MD_TreeView_OnGetImageList);
+ HANDLE_MSG(hwnd, TVM_SETIMAGELIST, MD_TreeView_OnSetImageList);
+ HANDLE_MSG(hwnd, TVM_GETNEXTITEM, MD_TreeView_OnGetNextItem);
+ HANDLE_MSG(hwnd, TVM_SELECTITEM, MD_TreeView_OnSelectItem);
+ HANDLE_MSG(hwnd, TVM_GETITEMA, MD_TreeView_OnGetItemA);
+ HANDLE_MSG(hwnd, TVM_SETITEMA, MD_TreeView_OnSetItemA);
+ HANDLE_MSG(hwnd, TVM_EDITLABELA, MD_TreeView_OnEditLabelA);
+ HANDLE_MSG(hwnd, TVM_GETEDITCONTROL, MD_TreeView_OnGetEditControl);
+ HANDLE_MSG(hwnd, TVM_GETVISIBLECOUNT, MD_TreeView_OnGetVisibleCount);
+ HANDLE_MSG(hwnd, TVM_HITTEST, MD_TreeView_OnHitTest);
+ HANDLE_MSG(hwnd, TVM_CREATEDRAGIMAGE, MD_TreeView_OnCreateDragImage);
+ HANDLE_MSG(hwnd, TVM_SORTCHILDREN, MD_TreeView_OnSortChildren);
+ HANDLE_MSG(hwnd, TVM_ENSUREVISIBLE, MD_TreeView_OnEnsureVisible);
+ HANDLE_MSG(hwnd, TVM_SORTCHILDRENCB, MD_TreeView_OnSortChildrenCB);
+ HANDLE_MSG(hwnd, TVM_ENDEDITLABELNOW, MD_TreeView_OnEndEditLabelNow);
+ HANDLE_MSG(hwnd, TVM_GETISEARCHSTRINGA, MD_TreeView_OnGetISearchStringA);
+ HANDLE_MSG(hwnd, TVM_SETTOOLTIPS, MD_TreeView_OnSetToolTips);
+ HANDLE_MSG(hwnd, TVM_GETTOOLTIPS, MD_TreeView_OnGetToolTips);
+ HANDLE_MSG(hwnd, TVM_SETINSERTMARK, MD_TreeView_OnSetInsertMark);
+ HANDLE_MSG(hwnd, TVM_SETITEMHEIGHT, MD_TreeView_OnSetItemHeight);
+ HANDLE_MSG(hwnd, TVM_GETITEMHEIGHT, MD_TreeView_OnGetItemHeight);
+ HANDLE_MSG(hwnd, TVM_SETBKCOLOR, MD_TreeView_OnSetBkColor);
+ HANDLE_MSG(hwnd, TVM_SETTEXTCOLOR, MD_TreeView_OnSetTextColor);
+ HANDLE_MSG(hwnd, TVM_GETBKCOLOR, MD_TreeView_OnGetBkColor);
+ HANDLE_MSG(hwnd, TVM_GETTEXTCOLOR, MD_TreeView_OnGetTextColor);
+ HANDLE_MSG(hwnd, TVM_SETSCROLLTIME, MD_TreeView_OnSetScrollTime);
+ HANDLE_MSG(hwnd, TVM_GETSCROLLTIME, MD_TreeView_OnGetScrollTime);
+#if NTDDI_VERSION >= 0x06000000
+ HANDLE_MSG(hwnd, TVM_SETBORDER, MD_TreeView_OnSetBorder);
+#endif
+ HANDLE_MSG(hwnd, TVM_SETINSERTMARKCOLOR, MD_TreeView_OnSetInsertMarkColor);
+ HANDLE_MSG(hwnd, TVM_GETINSERTMARKCOLOR, MD_TreeView_OnGetInsertMarkColor);
+ HANDLE_MSG(hwnd, TVM_GETITEMSTATE, MD_TreeView_OnGetItemState);
+ HANDLE_MSG(hwnd, TVM_SETLINECOLOR, MD_TreeView_OnSetLineColor);
+ HANDLE_MSG(hwnd, TVM_GETLINECOLOR, MD_TreeView_OnGetLineColor);
+ HANDLE_MSG(hwnd, TVM_MAPACCIDTOHTREEITEM,
MD_TreeView_OnMapAccIDToHTREEITEM);
+ HANDLE_MSG(hwnd, TVM_MAPHTREEITEMTOACCID,
MD_TreeView_OnMapHTREEITEMToAccID);
+#if NTDDI_VERSION >= 0x06000000
+ HANDLE_MSG(hwnd, TVM_SETEXTENDEDSTYLE, MD_TreeView_OnSetExtendedStyle);
+ HANDLE_MSG(hwnd, TVM_GETEXTENDEDSTYLE, MD_TreeView_OnGetExtendedStyle);
+#endif
+ HANDLE_MSG(hwnd, TVM_INSERTITEMW, MD_TreeView_OnInsertItemW);
+#if NTDDI_VERSION >= 0x06000000
+ HANDLE_MSG(hwnd, TVM_SETHOT, MD_TreeView_OnSetHot);
+ HANDLE_MSG(hwnd, TVM_SETAUTOSCROLLINFO, MD_TreeView_OnSetAutoScrollInfo);
+#endif
+ HANDLE_MSG(hwnd, TVM_GETITEMW, MD_TreeView_OnGetItemW);
+ HANDLE_MSG(hwnd, TVM_SETITEMW, MD_TreeView_OnSetItemW);
+ HANDLE_MSG(hwnd, TVM_GETISEARCHSTRINGW, MD_TreeView_OnGetISearchStringW);
+ HANDLE_MSG(hwnd, TVM_EDITLABELW, MD_TreeView_OnEditLabelW);
+#if NTDDI_VERSION >= 0x06000000
+ HANDLE_MSG(hwnd, TVM_GETSELECTEDCOUNT, MD_TreeView_OnGetSelectedCount);
+ HANDLE_MSG(hwnd, TVM_SHOWINFOTIP, MD_TreeView_OnShowInfoTip);
+ HANDLE_MSG(hwnd, TVM_GETITEMPARTRECT, MD_TreeView_OnGetItemPartRect);
+#endif
+ }
+ }
switch (uMsg)
{
HANDLE_MSG(hwnd, WM_NULL, MD_OnNull);
@@ -3066,10 +4839,13 @@ MD_msgresult(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam,
LRESULT lResult
{
#define DEFINE_RESULT(WM_) case WM_: MSGDUMP_TPRINTF(TEXT("%s") TEXT(#WM_)
TEXT(": hwnd:%p, lResult:%p\n"), \
MSGDUMP_PREFIX, (void *)hwnd,
lResult); break
- TCHAR szClass[32];
+ TCHAR szClass[24], sz[2];
szClass[0] = 0;
GetClassName(hwnd, szClass, ARRAYSIZE(szClass));
- if (lstrcmpi(szClass, TEXT("EDIT")) == 0)
+ sz[0] = szClass[0];
+ sz[1] = 0;
+ CharUpper(sz);
+ if (sz[0] == TEXT('E') && lstrcmpi(szClass, TEXT("EDIT"))
== 0)
{
switch (uMsg)
{
@@ -3113,7 +4889,7 @@ MD_msgresult(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam,
LRESULT lResult
DEFINE_RESULT(EM_GETIMESTATUS);
}
}
- else if (lstrcmpi(szClass, TEXT("STATIC")) == 0)
+ else if (sz[0] == TEXT('S') && lstrcmpi(szClass,
TEXT("STATIC")) == 0)
{
switch (uMsg)
{
@@ -3123,7 +4899,7 @@ MD_msgresult(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam,
LRESULT lResult
DEFINE_RESULT(STM_GETIMAGE);
}
}
- else if (lstrcmpi(szClass, TEXT("LISTBOX")) == 0)
+ else if (sz[0] == TEXT('L') && lstrcmpi(szClass,
TEXT("LISTBOX")) == 0)
{
switch (uMsg)
{
@@ -3169,7 +4945,7 @@ MD_msgresult(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam,
LRESULT lResult
DEFINE_RESULT(LB_ITEMFROMPOINT);
}
}
- else if (lstrcmpi(szClass, TEXT("COMBOBOX")) == 0)
+ else if (sz[0] == TEXT('C') && lstrcmpi(szClass,
TEXT("COMBOBOX")) == 0)
{
switch (uMsg)
{
@@ -3209,7 +4985,7 @@ MD_msgresult(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam,
LRESULT lResult
DEFINE_RESULT(CB_INITSTORAGE);
}
}
- else if (lstrcmpi(szClass, TEXT("SCROLLBAR")) == 0)
+ else if (sz[0] == TEXT('S') && lstrcmpi(szClass,
TEXT("SCROLLBAR")) == 0)
{
switch (uMsg)
{
@@ -3224,6 +5000,227 @@ MD_msgresult(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam,
LRESULT lResult
DEFINE_RESULT(SBM_GETSCROLLBARINFO);
}
}
+ else if (sz[0] == TEXT('S') && lstrcmpi(szClass, WC_LISTVIEW) == 0)
+ {
+ switch (uMsg)
+ {
+ DEFINE_RESULT(LVM_GETBKCOLOR);
+ DEFINE_RESULT(LVM_SETBKCOLOR);
+ DEFINE_RESULT(LVM_GETIMAGELIST);
+ DEFINE_RESULT(LVM_SETIMAGELIST);
+ DEFINE_RESULT(LVM_GETITEMCOUNT);
+ DEFINE_RESULT(LVM_GETITEMA);
+ DEFINE_RESULT(LVM_SETITEMA);
+ DEFINE_RESULT(LVM_INSERTITEMA);
+ DEFINE_RESULT(LVM_DELETEITEM);
+ DEFINE_RESULT(LVM_DELETEALLITEMS);
+ DEFINE_RESULT(LVM_GETCALLBACKMASK);
+ DEFINE_RESULT(LVM_SETCALLBACKMASK);
+ DEFINE_RESULT(LVM_GETNEXTITEM);
+ DEFINE_RESULT(LVM_FINDITEMA);
+ DEFINE_RESULT(LVM_GETITEMRECT);
+ DEFINE_RESULT(LVM_SETITEMPOSITION);
+ DEFINE_RESULT(LVM_GETITEMPOSITION);
+ DEFINE_RESULT(LVM_GETSTRINGWIDTHA);
+ DEFINE_RESULT(LVM_HITTEST);
+ DEFINE_RESULT(LVM_ENSUREVISIBLE);
+ DEFINE_RESULT(LVM_SCROLL);
+ DEFINE_RESULT(LVM_REDRAWITEMS);
+ DEFINE_RESULT(LVM_ARRANGE);
+ DEFINE_RESULT(LVM_EDITLABELA);
+ DEFINE_RESULT(LVM_GETEDITCONTROL);
+ DEFINE_RESULT(LVM_GETCOLUMNA);
+ DEFINE_RESULT(LVM_SETCOLUMNA);
+ DEFINE_RESULT(LVM_INSERTCOLUMNA);
+ DEFINE_RESULT(LVM_DELETECOLUMN);
+ DEFINE_RESULT(LVM_GETCOLUMNWIDTH);
+ DEFINE_RESULT(LVM_SETCOLUMNWIDTH);
+ DEFINE_RESULT(LVM_GETHEADER);
+ DEFINE_RESULT(LVM_CREATEDRAGIMAGE);
+ DEFINE_RESULT(LVM_GETVIEWRECT);
+ DEFINE_RESULT(LVM_GETTEXTCOLOR);
+ DEFINE_RESULT(LVM_SETTEXTCOLOR);
+ DEFINE_RESULT(LVM_GETTEXTBKCOLOR);
+ DEFINE_RESULT(LVM_SETTEXTBKCOLOR);
+ DEFINE_RESULT(LVM_GETTOPINDEX);
+ DEFINE_RESULT(LVM_GETCOUNTPERPAGE);
+ DEFINE_RESULT(LVM_GETORIGIN);
+ DEFINE_RESULT(LVM_UPDATE);
+ DEFINE_RESULT(LVM_SETITEMSTATE);
+ DEFINE_RESULT(LVM_GETITEMSTATE);
+ DEFINE_RESULT(LVM_GETITEMTEXTA);
+ DEFINE_RESULT(LVM_SETITEMTEXTA);
+ DEFINE_RESULT(LVM_SETITEMCOUNT);
+ DEFINE_RESULT(LVM_SORTITEMS);
+ DEFINE_RESULT(LVM_SETITEMPOSITION32);
+ DEFINE_RESULT(LVM_GETSELECTEDCOUNT);
+ DEFINE_RESULT(LVM_GETITEMSPACING);
+ DEFINE_RESULT(LVM_GETISEARCHSTRINGA);
+ DEFINE_RESULT(LVM_SETICONSPACING);
+ DEFINE_RESULT(LVM_SETEXTENDEDLISTVIEWSTYLE);
+ DEFINE_RESULT(LVM_GETEXTENDEDLISTVIEWSTYLE);
+ DEFINE_RESULT(LVM_GETSUBITEMRECT);
+ DEFINE_RESULT(LVM_SUBITEMHITTEST);
+ DEFINE_RESULT(LVM_SETCOLUMNORDERARRAY);
+ DEFINE_RESULT(LVM_GETCOLUMNORDERARRAY);
+ DEFINE_RESULT(LVM_SETHOTITEM);
+ DEFINE_RESULT(LVM_GETHOTITEM);
+ DEFINE_RESULT(LVM_SETHOTCURSOR);
+ DEFINE_RESULT(LVM_GETHOTCURSOR);
+ DEFINE_RESULT(LVM_APPROXIMATEVIEWRECT);
+ DEFINE_RESULT(LVM_SETWORKAREAS);
+ DEFINE_RESULT(LVM_GETSELECTIONMARK);
+ DEFINE_RESULT(LVM_SETSELECTIONMARK);
+ DEFINE_RESULT(LVM_SETBKIMAGEA);
+ DEFINE_RESULT(LVM_GETBKIMAGEA);
+ DEFINE_RESULT(LVM_GETWORKAREAS);
+ DEFINE_RESULT(LVM_SETHOVERTIME);
+ DEFINE_RESULT(LVM_GETHOVERTIME);
+ DEFINE_RESULT(LVM_GETNUMBEROFWORKAREAS);
+ DEFINE_RESULT(LVM_SETTOOLTIPS);
+ DEFINE_RESULT(LVM_GETITEMW);
+ DEFINE_RESULT(LVM_SETITEMW);
+ DEFINE_RESULT(LVM_INSERTITEMW);
+ DEFINE_RESULT(LVM_GETTOOLTIPS);
+ DEFINE_RESULT(LVM_SORTITEMSEX);
+ DEFINE_RESULT(LVM_FINDITEMW);
+ DEFINE_RESULT(LVM_GETSTRINGWIDTHW);
+#if NTDDI_VERSION >= 0x06000000
+ DEFINE_RESULT(LVM_GETGROUPSTATE);
+ DEFINE_RESULT(LVM_GETFOCUSEDGROUP);
+#endif
+ DEFINE_RESULT(LVM_GETCOLUMNW);
+ DEFINE_RESULT(LVM_SETCOLUMNW);
+ DEFINE_RESULT(LVM_INSERTCOLUMNW);
+#if NTDDI_VERSION >= 0x06000000
+ DEFINE_RESULT(LVM_GETGROUPRECT);
+#endif
+ DEFINE_RESULT(LVM_GETITEMTEXTW);
+ DEFINE_RESULT(LVM_SETITEMTEXTW);
+ DEFINE_RESULT(LVM_GETISEARCHSTRINGW);
+ DEFINE_RESULT(LVM_EDITLABELW);
+ DEFINE_RESULT(LVM_SETBKIMAGEW);
+ DEFINE_RESULT(LVM_GETBKIMAGEW);
+ DEFINE_RESULT(LVM_SETSELECTEDCOLUMN);
+ DEFINE_RESULT(LVM_SETTILEWIDTH);
+ DEFINE_RESULT(LVM_SETVIEW);
+ DEFINE_RESULT(LVM_GETVIEW);
+#if NTDDI_VERSION >= 0x06000000
+ DEFINE_RESULT(LVM_INSERTGROUP);
+ DEFINE_RESULT(LVM_SETGROUPINFO);
+ DEFINE_RESULT(LVM_GETGROUPINFO);
+ DEFINE_RESULT(LVM_REMOVEGROUP);
+ DEFINE_RESULT(LVM_MOVEGROUP);
+ DEFINE_RESULT(LVM_GETGROUPCOUNT);
+ DEFINE_RESULT(LVM_GETGROUPINFOBYINDEX);
+ DEFINE_RESULT(LVM_MOVEITEMTOGROUP);
+ DEFINE_RESULT(LVM_SETGROUPMETRICS);
+ DEFINE_RESULT(LVM_GETGROUPMETRICS);
+ DEFINE_RESULT(LVM_ENABLEGROUPVIEW);
+ DEFINE_RESULT(LVM_SORTGROUPS);
+ DEFINE_RESULT(LVM_INSERTGROUPSORTED);
+ DEFINE_RESULT(LVM_REMOVEALLGROUPS);
+ DEFINE_RESULT(LVM_HASGROUP);
+#endif
+ DEFINE_RESULT(LVM_SETTILEVIEWINFO);
+ DEFINE_RESULT(LVM_GETTILEVIEWINFO);
+ DEFINE_RESULT(LVM_SETTILEINFO);
+ DEFINE_RESULT(LVM_GETTILEINFO);
+ DEFINE_RESULT(LVM_SETINSERTMARK);
+ DEFINE_RESULT(LVM_GETINSERTMARK);
+ DEFINE_RESULT(LVM_INSERTMARKHITTEST);
+ DEFINE_RESULT(LVM_GETINSERTMARKRECT);
+ DEFINE_RESULT(LVM_SETINSERTMARKCOLOR);
+ DEFINE_RESULT(LVM_GETINSERTMARKCOLOR);
+ DEFINE_RESULT(LVM_SETINFOTIP);
+ DEFINE_RESULT(LVM_GETSELECTEDCOLUMN);
+ DEFINE_RESULT(LVM_ISGROUPVIEWENABLED);
+ DEFINE_RESULT(LVM_GETOUTLINECOLOR);
+ DEFINE_RESULT(LVM_SETOUTLINECOLOR);
+ DEFINE_RESULT(LVM_CANCELEDITLABEL);
+ DEFINE_RESULT(LVM_MAPINDEXTOID);
+ DEFINE_RESULT(LVM_MAPIDTOINDEX);
+ DEFINE_RESULT(LVM_ISITEMVISIBLE);
+#if NTDDI_VERSION >= 0x06000000
+ DEFINE_RESULT(LVM_GETEMPTYTEXT);
+ DEFINE_RESULT(LVM_GETFOOTERRECT);
+ DEFINE_RESULT(LVM_GETFOOTERINFO);
+ DEFINE_RESULT(LVM_GETFOOTERITEMRECT);
+ DEFINE_RESULT(LVM_GETFOOTERITEM);
+ DEFINE_RESULT(LVM_GETITEMINDEXRECT);
+ DEFINE_RESULT(LVM_SETITEMINDEXSTATE);
+ DEFINE_RESULT(LVM_GETNEXTITEMINDEX);
+#endif
+ }
+ }
+ else if (sz[0] == TEXT('S') && lstrcmpi(szClass, WC_TREEVIEW) == 0)
+ {
+ switch (uMsg)
+ {
+ DEFINE_RESULT(TVM_INSERTITEMA);
+ DEFINE_RESULT(TVM_DELETEITEM);
+ DEFINE_RESULT(TVM_EXPAND);
+ DEFINE_RESULT(TVM_GETITEMRECT);
+ DEFINE_RESULT(TVM_GETCOUNT);
+ DEFINE_RESULT(TVM_GETINDENT);
+ DEFINE_RESULT(TVM_SETINDENT);
+ DEFINE_RESULT(TVM_GETIMAGELIST);
+ DEFINE_RESULT(TVM_SETIMAGELIST);
+ DEFINE_RESULT(TVM_GETNEXTITEM);
+ DEFINE_RESULT(TVM_SELECTITEM);
+ DEFINE_RESULT(TVM_GETITEMA);
+ DEFINE_RESULT(TVM_SETITEMA);
+ DEFINE_RESULT(TVM_EDITLABELA);
+ DEFINE_RESULT(TVM_GETEDITCONTROL);
+ DEFINE_RESULT(TVM_GETVISIBLECOUNT);
+ DEFINE_RESULT(TVM_HITTEST);
+ DEFINE_RESULT(TVM_CREATEDRAGIMAGE);
+ DEFINE_RESULT(TVM_SORTCHILDREN);
+ DEFINE_RESULT(TVM_ENSUREVISIBLE);
+ DEFINE_RESULT(TVM_SORTCHILDRENCB);
+ DEFINE_RESULT(TVM_ENDEDITLABELNOW);
+ DEFINE_RESULT(TVM_GETISEARCHSTRINGA);
+ DEFINE_RESULT(TVM_SETTOOLTIPS);
+ DEFINE_RESULT(TVM_GETTOOLTIPS);
+ DEFINE_RESULT(TVM_SETINSERTMARK);
+ DEFINE_RESULT(TVM_SETITEMHEIGHT);
+ DEFINE_RESULT(TVM_GETITEMHEIGHT);
+ DEFINE_RESULT(TVM_SETBKCOLOR);
+ DEFINE_RESULT(TVM_SETTEXTCOLOR);
+ DEFINE_RESULT(TVM_GETBKCOLOR);
+ DEFINE_RESULT(TVM_GETTEXTCOLOR);
+ DEFINE_RESULT(TVM_SETSCROLLTIME);
+ DEFINE_RESULT(TVM_GETSCROLLTIME);
+#if NTDDI_VERSION >= 0x06000000
+ DEFINE_RESULT(TVM_SETBORDER);
+#endif
+ DEFINE_RESULT(TVM_SETINSERTMARKCOLOR);
+ DEFINE_RESULT(TVM_GETINSERTMARKCOLOR);
+ DEFINE_RESULT(TVM_GETITEMSTATE);
+ DEFINE_RESULT(TVM_SETLINECOLOR);
+ DEFINE_RESULT(TVM_GETLINECOLOR);
+ DEFINE_RESULT(TVM_MAPACCIDTOHTREEITEM);
+ DEFINE_RESULT(TVM_MAPHTREEITEMTOACCID);
+#if NTDDI_VERSION >= 0x06000000
+ DEFINE_RESULT(TVM_SETEXTENDEDSTYLE);
+ DEFINE_RESULT(TVM_GETEXTENDEDSTYLE);
+#endif
+ DEFINE_RESULT(TVM_INSERTITEMW);
+#if NTDDI_VERSION >= 0x06000000
+ DEFINE_RESULT(TVM_SETHOT);
+ DEFINE_RESULT(TVM_SETAUTOSCROLLINFO);
+#endif
+ DEFINE_RESULT(TVM_GETITEMW);
+ DEFINE_RESULT(TVM_SETITEMW);
+ DEFINE_RESULT(TVM_GETISEARCHSTRINGW);
+ DEFINE_RESULT(TVM_EDITLABELW);
+#if NTDDI_VERSION >= 0x06000000
+ DEFINE_RESULT(TVM_GETSELECTEDCOUNT);
+ DEFINE_RESULT(TVM_SHOWINFOTIP);
+ DEFINE_RESULT(TVM_GETITEMPARTRECT);
+#endif
+ }
+ }
switch (uMsg)
{
DEFINE_RESULT(WM_NULL);
@@ -3251,7 +5248,7 @@ MD_msgresult(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam,
LRESULT lResult
DEFINE_RESULT(WM_SYSCOLORCHANGE);
DEFINE_RESULT(WM_SHOWWINDOW);
DEFINE_RESULT(WM_WININICHANGE);
- //DEFINE_RESULT(WM_SETTINGCHANGE); // same as WM_WININICHANGE
+ /* DEFINE_RESULT(WM_SETTINGCHANGE); */ /* same as WM_WININICHANGE */
DEFINE_RESULT(WM_DEVMODECHANGE);
DEFINE_RESULT(WM_ACTIVATEAPP);
DEFINE_RESULT(WM_FONTCHANGE);
diff --git a/sdk/include/reactos/winxx.h b/sdk/include/reactos/winxx.h
index beb4a532cbc..7c662c7816e 100644
--- a/sdk/include/reactos/winxx.h
+++ b/sdk/include/reactos/winxx.h
@@ -6,7 +6,7 @@
*/
#ifndef _INC_WINXX
-#define _INC_WINXX 2 /* Version 2 */
+#define _INC_WINXX 6 /* Version 6 */
#pragma once
@@ -27,7 +27,7 @@
#define HANDLE_WM_NULL(hwnd, wParam, lParam, fn) \
((fn)((hwnd)), 0L)
#define FORWARD_WM_NULL(hwnd, fn) \
- (void)((fn)((hwnd), WM_NULL, 0, 0L), 0L)
+ ((fn)((hwnd), WM_NULL, 0, 0L), 0L)
#endif
/* INT Cls_OnSetHotKey(HWND hwnd, INT nCode, UINT nOptions) */
@@ -51,7 +51,7 @@
#define HANDLE_WM_PAINTICON(hwnd, wParam, lParam, fn) \
((fn)((hwnd)), 0L)
#define FORWARD_WM_PAINTICON(hwnd, fn) \
- (void)((fn)((hwnd), WM_PAINTICON, 0, 0L), 0L)
+ ((fn)((hwnd), WM_PAINTICON, 0, 0L), 0L)
#endif
/* LRESULT Cls_OnGetObject(HWND hwnd, WPARAM wParam, DWORD dwObjId) */
@@ -67,7 +67,7 @@
#define HANDLE_WM_CANCELJOURNAL(hwnd, wParam, lParam, fn) \
((fn)((hwnd)), 0L)
#define FORWARD_WM_CANCELJOURNAL(hwnd, fn) \
- (void)((fn)((hwnd), WM_PAINTICON, 0, 0L), 0L)
+ ((fn)((hwnd), WM_PAINTICON, 0, 0L), 0L)
#endif
/* void Cls_OnInputLangChangeRequest(HWND hwnd, BOOL bFlag, HKL hKL) */
@@ -75,8 +75,8 @@
#define HANDLE_WM_INPUTLANGCHANGEREQUEST(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (BOOL)(wParam), (HKL)(lParam)), 0L)
#define FORWARD_WM_INPUTLANGCHANGEREQUEST(hwnd, bFlag, hKL, fn) \
- (void)((fn)((hwnd), WM_INPUTLANGCHANGEREQUEST, (WPARAM)(BOOL)(bFlag), \
- (LPARAM)(HKL)(hKL)), 0L)
+ ((fn)((hwnd), WM_INPUTLANGCHANGEREQUEST, (WPARAM)(BOOL)(bFlag), \
+ (LPARAM)(HKL)(hKL)), 0L)
#endif
/* void Cls_OnInputLangChange(HWND hwnd, DWORD dwCharSet, HKL hKL) */
@@ -84,8 +84,8 @@
#define HANDLE_WM_INPUTLANGCHANGE(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (DWORD)(wParam), (HKL)(lParam)), 0L)
#define FORWARD_WM_INPUTLANGCHANGE(hwnd, dwCharSet, hKL, fn) \
- (void)((fn)((hwnd), WM_INPUTLANGCHANGE, (WPARAM)(DWORD)(dwCharSet), \
- (LPARAM)(HKL)(hKL)), 0L)
+ ((fn)((hwnd), WM_INPUTLANGCHANGE, (WPARAM)(DWORD)(dwCharSet), \
+ (LPARAM)(HKL)(hKL)), 0L)
#endif
/* void Cls_OnTCard(HWND hwnd, UINT idAction, DWORD dwActionData) */
@@ -93,7 +93,7 @@
#define HANDLE_WM_TCARD(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (UINT)(wParam), (DWORD)(lParam)), 0L)
#define FORWARD_WM_TCARD(hwnd, idAction, dwActionData, fn) \
- (void)((fn)((hwnd), WM_TCARD, (DWORD)(wParam), (DWORD)(lParam)), 0L)
+ ((fn)((hwnd), WM_TCARD, (DWORD)(wParam), (DWORD)(lParam)), 0L)
#endif
/* void Cls_OnHelp(HWND hwnd, LPHELPINFO lpHelpInfo) */
@@ -101,7 +101,7 @@
#define HANDLE_WM_HELP(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (LPHELPINFO)(lParam)), 0L)
#define FORWARD_WM_HELP(hwnd, lpHelpInfo, fn) \
- (void)((fn)((hwnd), WM_HELP, 0, (LPARAM)(LPHELPINFO)(lpHelpInfo)), 0L)
+ ((fn)((hwnd), WM_HELP, 0, (LPARAM)(LPHELPINFO)(lpHelpInfo)), 0L)
#endif
/* void Cls_OnUserChanged(HWND hwnd) */
@@ -109,7 +109,7 @@
#define HANDLE_WM_USERCHANGED(hwnd, wParam, lParam, fn) \
((fn)((hwnd)), 0L)
#define FORWARD_WM_USERCHANGED(hwnd, fn) \
- (void)((fn)((hwnd), WM_USERCHANGED, 0, 0L), 0L)
+ ((fn)((hwnd), WM_USERCHANGED, 0, 0L), 0L)
#endif
/* INT Cls_OnNotifyFormat(HWND hwnd, HWND hwndTarget, INT nCommand) */
@@ -126,8 +126,8 @@
#define HANDLE_WM_STYLECHANGING(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (UINT)(wParam), (LPSTYLESTRUCT)(lParam)), 0L)
#define FORWARD_WM_STYLECHANGING(hwnd, nStyleType, lpStyleStruct, fn) \
- (void)((fn)((hwnd), WM_STYLECHANGING, (WPARAM)(UINT)(nStyleType), \
- (LPARAM)(LPSTYLESTRUCT)(lpStyleStruct)), 0L)
+ ((fn)((hwnd), WM_STYLECHANGING, (WPARAM)(UINT)(nStyleType), \
+ (LPARAM)(LPSTYLESTRUCT)(lpStyleStruct)), 0L)
#endif
/* void Cls_OnStyleChanged(HWND hwnd, UINT nStyleType, const STYLESTRUCT *lpStyleStruct)
*/
@@ -135,8 +135,8 @@
#define HANDLE_WM_STYLECHANGED(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (UINT)(wParam), (const STYLESTRUCT *)(lParam)), 0L)
#define FORWARD_WM_STYLECHANGED(hwnd, nStyleType, lpStyleStruct, fn) \
- (void)((fn)((hwnd), WM_STYLECHANGED, (WPARAM)(UINT)(nStyleType), \
- (LPARAM)(const STYLESTRUCT *)(lpStyleStruct)), 0L)
+ ((fn)((hwnd), WM_STYLECHANGED, (WPARAM)(UINT)(nStyleType), \
+ (LPARAM)(const STYLESTRUCT *)(lpStyleStruct)), 0L)
#endif
/* HICON Cls_OnGetIcon(HWND hwnd, UINT nType, LPARAM dpi) */
@@ -160,7 +160,7 @@
#define HANDLE_WM_SYNCPAINT(hwnd, wParam, lParam, fn) \
((fn)((hwnd)), 0L)
#define FORWARD_WM_SYNCPAINT(hwnd, fn) \
- (void)((fn)((hwnd), WM_SYNCPAINT, 0, 0L), 0L)
+ ((fn)((hwnd), WM_SYNCPAINT, 0, 0L), 0L)
#endif
/* void Cls_OnNCXButtonDown(HWND hwnd, BOOL fDoubleClick, UINT nHitTest, WORD fwButton,
INT xPos, INT yPos) */
@@ -172,8 +172,8 @@
(LRESULT)((fn)((hwnd), TRUE, GET_NCHITTEST_WPARAM(wParam),
GET_XBUTTON_WPARAM(wParam), \
GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)), TRUE)
#define FORWARD_WM_NCXBUTTONDOWN(hwnd, fDoubleClick, nHitTest, fwButton, xPos, yPos, fn)
\
- (void)((fn)((hwnd), ((fDoubleClick) ? WM_NCXBUTTONDBLCLK : WM_NCXBUTTONDOWN), \
- MAKEWPARAM((nHitTest), (fwButton)), MAKELPARAM((xPos), (yPos))), 0L)
+ ((fn)((hwnd), ((fDoubleClick) ? WM_NCXBUTTONDBLCLK : WM_NCXBUTTONDOWN), \
+ MAKEWPARAM((nHitTest), (fwButton)), MAKELPARAM((xPos), (yPos))), 0L)
#endif
/* void Cls_OnNCXButtonUp(HWND hwnd, UINT nHitTest, WORD fwButton, INT xPos, INT yPos)
*/
@@ -182,8 +182,8 @@
(LRESULT)((fn)((hwnd), GET_NCHITTEST_WPARAM(wParam), GET_XBUTTON_WPARAM(wParam), \
GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)), TRUE)
#define FORWARD_WM_NCXBUTTONUP(hwnd, nHitTest, fwButton, xPos, yPos, fn) \
- (void)((fn)((hwnd), WM_NCXBUTTONUP, MAKEWPARAM((nHitTest), (fwButton)), \
- MAKELPARAM((xPos), (yPos))), 0L)
+ ((fn)((hwnd), WM_NCXBUTTONUP, MAKEWPARAM((nHitTest), (fwButton)), \
+ MAKELPARAM((xPos), (yPos))), 0L)
#endif
/* void Cls_OnImeStartComposition(HWND hwnd) */
@@ -191,7 +191,7 @@
#define HANDLE_WM_IME_STARTCOMPOSITION(hwnd, wParam, lParam, fn) \
((fn)((hwnd)), 0L)
#define FORWARD_WM_IME_STARTCOMPOSITION(hwnd, fn) \
- (void)((fn)((hwnd), WM_IME_STARTCOMPOSITION, 0, 0L), 0L)
+ ((fn)((hwnd), WM_IME_STARTCOMPOSITION, 0, 0L), 0L)
#endif
/* void Cls_OnImeEndComposition(HWND hwnd) */
@@ -199,7 +199,7 @@
#define HANDLE_WM_IME_ENDCOMPOSITION(hwnd, wParam, lParam, fn) \
((fn)((hwnd)), 0L)
#define FORWARD_WM_IME_ENDCOMPOSITION(hwnd, fn) \
- (void)((fn)((hwnd), WM_IME_ENDCOMPOSITION, 0, 0L), 0L)
+ ((fn)((hwnd), WM_IME_ENDCOMPOSITION, 0, 0L), 0L)
#endif
/* void Cls_OnImeComposition(HWND hwnd, WORD wChar, DWORD lAttribute) */
@@ -207,7 +207,7 @@
#define HANDLE_WM_IME_COMPOSITION(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (WORD)(wParam), (DWORD)(lParam)), 0L)
#define FORWARD_WM_IME_COMPOSITION(hwnd, wChar, lAttribute, fn) \
- (void)((fn)((hwnd), WM_IME_COMPOSITION, (WPARAM)(WORD)(wChar), (DWORD)(lAttribute)),
0L)
+ ((fn)((hwnd), WM_IME_COMPOSITION, (WPARAM)(WORD)(wChar), (DWORD)(lAttribute)), 0L)
#endif
/* void Cls_OnMenuRButtonUp(HWND hwnd, UINT nPos, HMENU hMenu) */
@@ -215,7 +215,7 @@
#define HANDLE_WM_MENURBUTTONUP(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (UINT)(wParam), (HMENU)(lParam)), 0L)
#define FORWARD_WM_MENURBUTTONUP(hwnd, nPos, hMenu, fn) \
- (void)((fn)((hwnd), WM_MENURBUTTONUP, (WPARAM)(UINT)(nPos), (LPARAM)(HMENU)(hMenu)),
0L)
+ ((fn)((hwnd), WM_MENURBUTTONUP, (WPARAM)(UINT)(nPos), (LPARAM)(HMENU)(hMenu)), 0L)
#endif
/* UINT Cls_OnMenuDrag(HWND hwnd, UINT nPos, HMENU hMenu) */
@@ -239,8 +239,8 @@
#define HANDLE_WM_UNINITMENUPOPUP(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (HMENU)(wParam), (UINT)(lParam)), 0L)
#define FORWARD_WM_UNINITMENUPOPUP(hwnd, hMenu, nFlags, fn) \
- (void)((fn)((hwnd), WM_UNINITMENUPOPUP, (WPARAM)(HMENU)(hMenu), \
- (LPARAM)(UINT)(nFlags)), 0L)
+ ((fn)((hwnd), WM_UNINITMENUPOPUP, (WPARAM)(HMENU)(hMenu), \
+ (LPARAM)(UINT)(nFlags)), 0L)
#endif
/* void Cls_OnMenuCommand(HWND hwnd, UINT nPos, HMENU hMenu) */
@@ -248,8 +248,8 @@
#define HANDLE_WM_MENUCOMMAND(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (UINT)(wParam), (HMENU)(lParam)), 0L)
#define FORWARD_WM_MENUCOMMAND(hwnd, nPos, hMenu, fn) \
- (void)((fn)((hwnd), WM_MENURBUTTONUP, (WPARAM)(UINT)(nPos), \
- (LPARAM)(HMENU)(hMenu)), 0L)
+ ((fn)((hwnd), WM_MENURBUTTONUP, (WPARAM)(UINT)(nPos), \
+ (LPARAM)(HMENU)(hMenu)), 0L)
#endif
/* void Cls_OnChangeUIState(HWND hwnd, UINT nAction, UINT nUIElement) */
@@ -257,7 +257,7 @@
#define HANDLE_WM_CHANGEUISTATE(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (UINT)LOWORD(wParam), (UINT)HIWORD(wParam)), 0L)
#define FORWARD_WM_CHANGEUISTATE(hwnd, nAction, nUIElement, fn) \
- (void)((fn)((hwnd), WM_CHANGEUISTATE, MAKEWPARAM((nAction), (nUIElement)), 0L), 0L)
+ ((fn)((hwnd), WM_CHANGEUISTATE, MAKEWPARAM((nAction), (nUIElement)), 0L), 0L)
#endif
/* void Cls_OnUpdateUIState(HWND hwnd, UINT nAction, UINT nUIElement) */
@@ -265,7 +265,7 @@
#define HANDLE_WM_UPDATEUISTATE(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (UINT)LOWORD(wParam), (UINT)HIWORD(wParam)), 0L)
#define FORWARD_WM_UPDATEUISTATE(hwnd, nAction, nUIElement, fn) \
- (void)((fn)((hwnd), WM_UPDATEUISTATE, MAKEWPARAM((nAction), (nUIElement)), 0L), 0L)
+ ((fn)((hwnd), WM_UPDATEUISTATE, MAKEWPARAM((nAction), (nUIElement)), 0L), 0L)
#endif
/* UINT Cls_OnQueryUIState(HWND hwnd) */
@@ -285,8 +285,8 @@
(LRESULT)((fn)((hwnd), TRUE, GET_KEYSTATE_WPARAM(wParam), GET_XBUTTON_WPARAM(wParam),
\
GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)), TRUE)
#define FORWARD_WM_XBUTTONDOWN(hwnd, fDoubleClick, fwKeys, fwButton, xPos, yPos, fn) \
- (void)((fn)((hwnd), ((fDoubleClick) ? WM_XBUTTONDBLCLK : WM_XBUTTONDOWN), \
- MAKEWPARAM((fwKeys), (fwButton)), MAKELPARAM((xPos), (yPos))), 0L)
+ ((fn)((hwnd), ((fDoubleClick) ? WM_XBUTTONDBLCLK : WM_XBUTTONDOWN), \
+ MAKEWPARAM((fwKeys), (fwButton)), MAKELPARAM((xPos), (yPos))), 0L)
#endif
/* void Cls_OnXButtonUp(HWND hwnd, WORD fwKeys, WORD fwButton, INT xPos, INT yPos) */
@@ -295,8 +295,8 @@
(LRESULT)((fn)((hwnd), GET_KEYSTATE_WPARAM(wParam), GET_XBUTTON_WPARAM(wParam), \
GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)), TRUE)
#define FORWARD_WM_XBUTTONUP(hwnd, fDoubleClick, fwKeys, fwButton, xPos, yPos, fn) \
- (void)((fn)((hwnd), WM_XBUTTONUP, MAKEWPARAM((fwKeys), (fwButton)), \
- MAKELPARAM((xPos), (yPos))), 0L)
+ ((fn)((hwnd), WM_XBUTTONUP, MAKEWPARAM((fwKeys), (fwButton)), \
+ MAKELPARAM((xPos), (yPos))), 0L)
#endif
/* void Cls_OnEnterMenuLoop(HWND hwnd, BOOL bIsTrackPopupMenu) */
@@ -304,7 +304,7 @@
#define HANDLE_WM_ENTERMENULOOP(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (BOOL)(wParam)), 0L)
#define FORWARD_WM_ENTERMENULOOP(hwnd, bIsTrackPopupMenu, fn) \
- (void)((fn)((hwnd), WM_ENTERMENULOOP, (BOOL)(bIsTrackPopupMenu), 0L), 0L)
+ ((fn)((hwnd), WM_ENTERMENULOOP, (BOOL)(bIsTrackPopupMenu), 0L), 0L)
#endif
/* void Cls_OnExitMenuLoop(HWND hwnd, BOOL bIsTrackPopupMenu) */
@@ -312,7 +312,7 @@
#define HANDLE_WM_EXITMENULOOP(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (BOOL)(wParam)), 0L)
#define FORWARD_WM_EXITMENULOOP(hwnd, bIsTrackPopupMenu, fn) \
- (void)((fn)((hwnd), WM_EXITMENULOOP, (BOOL)(bIsTrackPopupMenu), 0L), 0L)
+ ((fn)((hwnd), WM_EXITMENULOOP, (BOOL)(bIsTrackPopupMenu), 0L), 0L)
#endif
/* void Cls_OnNextMenu(HWND hwnd, INT nCode, LPMDINEXTMENU lpMDINextMenu) */
@@ -320,8 +320,8 @@
#define HANDLE_WM_NEXTMENU(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (INT)(wParam), (LPMDINEXTMENU)(lParam)), 0L)
#define FORWARD_WM_NEXTMENU(hwnd, nCode, lpMDINextMenu, fn) \
- (void)((fn)((hwnd), WM_NEXTMENU, (WPARAM)(INT)(nCode), \
- (LPARAM)(LPMDINEXTMENU)(lpMDINextMenu)), 0L)
+ ((fn)((hwnd), WM_NEXTMENU, (WPARAM)(INT)(nCode), \
+ (LPARAM)(LPMDINEXTMENU)(lpMDINextMenu)), 0L)
#endif
/* void Cls_OnSizing(HWND hwnd, UINT nSide, LPRECT lpRect) */
@@ -329,7 +329,7 @@
#define HANDLE_WM_SIZING(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (UINT)(wParam), (LPRECT)(lParam)), 0L)
#define FORWARD_WM_SIZING(hwnd, nSide, lpRect, fn) \
- (void)((fn)((hwnd), WM_SIZING, (WPARAM)(UINT)(nSide), (LPARAM)(LPRECT)(lpRect)), 0L)
+ ((fn)((hwnd), WM_SIZING, (WPARAM)(UINT)(nSide), (LPARAM)(LPRECT)(lpRect)), 0L)
#endif
/* void Cls_OnCaptureChanged(HWND hwnd, HWND hwndNewCapture) */
@@ -337,7 +337,7 @@
#define HANDLE_WM_CAPTURECHANGED(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (HWND)(lParam)), 0L)
#define FORWARD_WM_CAPTURECHANGED(hwnd, hwndNewCapture, fn) \
- (void)((fn)((hwnd), WM_CAPTURECHANGED, 0, (LPARAM)(HWND)(hwndNewCapture)), 0L)
+ ((fn)((hwnd), WM_CAPTURECHANGED, 0, (LPARAM)(HWND)(hwndNewCapture)), 0L)
#endif
/* void Cls_OnMoving(HWND hwnd, UINT nSide, LPRECT lpRect) */
@@ -345,7 +345,7 @@
#define HANDLE_WM_MOVING(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (UINT)(wParam), (LPRECT)(lParam)), 0L)
#define FORWARD_WM_MOVING(hwnd, nSide, lpRect, fn) \
- (void)((fn)((hwnd), WM_MOVING, (WPARAM)(UINT)(nSide), (LPARAM)(LPRECT)(lpRect)), 0L)
+ ((fn)((hwnd), WM_MOVING, (WPARAM)(UINT)(nSide), (LPARAM)(LPRECT)(lpRect)), 0L)
#endif
/* LRESULT Cls_OnPowerBroadcast(HWND hwnd, UINT nPowerEvent, UINT nEventData) */
@@ -394,7 +394,7 @@
#define HANDLE_WM_IME_COMPOSITIONFULL(hwnd, wParam, lParam, fn) \
((fn)((hwnd)), 0L)
#define FORWARD_WM_IME_COMPOSITIONFULL(hwnd, compactRatio, fn) \
- (void)((fn)((hwnd), WM_IME_COMPOSITIONFULL, 0, 0L), 0L)
+ ((fn)((hwnd), WM_IME_COMPOSITIONFULL, 0, 0L), 0L)
#endif
/* void Cls_OnImeSelect(HWND hwnd, BOOL fSelect, HKL hKL) */
@@ -402,7 +402,7 @@
#define HANDLE_WM_IME_SELECT(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (BOOL)(wParam), (HKL)(lParam)), 0L)
#define FORWARD_WM_IME_SELECT(hwnd, fSelect, hKL, fn) \
- (void)((fn)((hwnd), WM_IME_SELECT, (WPARAM)(BOOL)(fSelect), (LPARAM)(HKL)(hKL)), 0L)
+ ((fn)((hwnd), WM_IME_SELECT, (WPARAM)(BOOL)(fSelect), (LPARAM)(HKL)(hKL)), 0L)
#endif
/* void Cls_OnImeChar(HWND hwnd, WORD wCharCode, LONG lKeyData) */
@@ -410,7 +410,7 @@
#define HANDLE_WM_IME_CHAR(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (WORD)(wParam), (LONG)(lParam)), 0L)
#define FORWARD_WM_IME_CHAR(hwnd, wCharCode, lKeyData, fn) \
- (void)((fn)((hwnd), WM_IME_CHAR, (WPARAM)(WORD)(wCharCode),
(LPARAM)(LONG)(lKeyData)), 0L)
+ ((fn)((hwnd), WM_IME_CHAR, (WPARAM)(WORD)(wCharCode), (LPARAM)(LONG)(lKeyData)), 0L)
#endif
/* LRESULT Cls_OnImeRequest(HWND hwnd, WPARAM wParam, LPARAM lParam) */
@@ -426,13 +426,13 @@
#define HANDLE_WM_IME_KEYDOWN(hwnd, wParam, lParam, fn) \
((fn)((hwnd), TRUE, (WORD)(wParam), (LONG)(lParam)), 0L)
#define FORWARD_WM_IME_KEYDOWN(hwnd, fDown, nVirtKey, lKeyData, fn) \
- (void)((fn)((hwnd), ((BOOL)(fDown) ? WM_IME_KEYDOWN : WM_IME_KEYUP), \
- (WPARAM)(UINT)(nVirtKey), (LPARAM)(LONG)(lKeyData)), 0L)
+ ((fn)((hwnd), ((BOOL)(fDown) ? WM_IME_KEYDOWN : WM_IME_KEYUP), \
+ (WPARAM)(UINT)(nVirtKey), (LPARAM)(LONG)(lKeyData)), 0L)
#define HANDLE_WM_IME_KEYUP(hwnd, wParam, lParam, fn) \
((fn)((hwnd), FALSE, (WORD)(wParam), (LONG)(lParam)), 0L)
#define FORWARD_WM_IME_KEYUP(hwnd, fDown, nVirtKey, lKeyData, fn) \
- (void)((fn)((hwnd), ((BOOL)(fDown) ? WM_IME_KEYDOWN : WM_IME_KEYUP), \
- (WPARAM)(UINT)(nVirtKey), (LPARAM)(LONG)(lKeyData)), 0L)
+ ((fn)((hwnd), ((BOOL)(fDown) ? WM_IME_KEYDOWN : WM_IME_KEYUP), \
+ (WPARAM)(UINT)(nVirtKey), (LPARAM)(LONG)(lKeyData)), 0L)
#endif
/* void Cls_OnMouseHover(HWND hwnd, UINT nFlags, INT xPos, INT yPos) */
@@ -440,8 +440,8 @@
#define HANDLE_WM_MOUSEHOVER(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (UINT)(wParam), GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)), 0L)
#define FORWARD_WM_MOUSEHOVER(hwnd, nFlags, xPos, yPos, fn) \
- (void)((fn)((hwnd), WM_MOUSEHOVER, (WPARAM)(UINT)(nFlags), \
- MAKELPARAM((xPos), (yPos))), 0L)
+ ((fn)((hwnd), WM_MOUSEHOVER, (WPARAM)(UINT)(nFlags), \
+ MAKELPARAM((xPos), (yPos))), 0L)
#endif
/* void Cls_OnMouseLeave(HWND hwnd) */
@@ -449,7 +449,7 @@
#define HANDLE_WM_MOUSELEAVE(hwnd, wParam, lParam, fn) \
((fn)((hwnd)), 0L)
#define FORWARD_WM_MOUSELEAVE(hwnd, fn) \
- (void)((fn)((hwnd), WM_MOUSELEAVE, 0, 0L), 0L)
+ ((fn)((hwnd), WM_MOUSELEAVE, 0, 0L), 0L)
#endif
/* void Cls_OnNCMouseHover(HWND hwnd, UINT nHitTest, INT xPos, INT yPos) */
@@ -457,8 +457,8 @@
#define HANDLE_WM_NCMOUSEHOVER(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (INT)(wParam), GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)), 0L)
#define FORWARD_WM_NCMOUSEHOVER(hwnd, nHitTest, xPos, yPos, fn) \
- (void)((fn)((hwnd), WM_NCMOUSEHOVER, (WPARAM)(UINT)(nHitTest), \
- MAKELPARAM((xPos), (yPos))), 0L)
+ ((fn)((hwnd), WM_NCMOUSEHOVER, (WPARAM)(UINT)(nHitTest), \
+ MAKELPARAM((xPos), (yPos))), 0L)
#endif
/* void Cls_OnNCMouseLeave(HWND hwnd) */
@@ -466,7 +466,7 @@
#define HANDLE_WM_NCMOUSELEAVE(hwnd, wParam, lParam, fn) \
((fn)((hwnd)), 0L)
#define FORWARD_WM_NCMOUSELEAVE(hwnd, fn) \
- (void)((fn)((hwnd), WM_NCMOUSELEAVE, 0, 0L), 0L)
+ ((fn)((hwnd), WM_NCMOUSELEAVE, 0, 0L), 0L)
#endif
/* void Cls_OnPrint(HWND hwnd, HDC hDC, UINT uFlags) */
@@ -474,7 +474,7 @@
#define HANDLE_WM_PRINT(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (HDC)(wParam), (UINT)(lParam)), 0L)
#define FORWARD_WM_PRINT(hwnd, hDC, uFlags, fn) \
- (void)((fn)((hwnd), WM_PRINT, (WPARAM)(HDC)(hDC), (LPARAM)(uFlags)), 0L)
+ ((fn)((hwnd), WM_PRINT, (WPARAM)(HDC)(hDC), (LPARAM)(uFlags)), 0L)
#endif
/* void Cls_OnPrintClient(HWND hwnd, HDC hDC, UINT uFlags) */
@@ -482,7 +482,7 @@
#define HANDLE_WM_PRINTCLIENT(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (HDC)(wParam), (UINT)(lParam)), 0L)
#define FORWARD_WM_PRINTCLIENT(hwnd, hDC, uFlags, fn) \
- (void)((fn)((hwnd), WM_PRINTCLIENT, (WPARAM)(HDC)(hDC), (LPARAM)(uFlags)), 0L)
+ ((fn)((hwnd), WM_PRINTCLIENT, (WPARAM)(HDC)(hDC), (LPARAM)(uFlags)), 0L)
#endif
/* BOOL Cls_OnAppCommand(HWND hwnd, HWND hwndTarget, UINT cmd, UINT nDevice, UINT nKey)
*/
@@ -500,7 +500,7 @@
#define HANDLE_WM_ENTERSIZEMOVE(hwnd, wParam, lParam, fn) \
((fn)((hwnd)), 0L)
#define FORWARD_WM_ENTERSIZEMOVE(hwnd, fn) \
- (void)((fn)((hwnd), WM_ENTERSIZEMOVE, 0, 0L), 0L)
+ ((fn)((hwnd), WM_ENTERSIZEMOVE, 0, 0L), 0L)
#endif
/* void Cls_OnExitSizeMove(HWND hwnd) */
@@ -508,7 +508,7 @@
#define HANDLE_WM_EXITSIZEMOVE(hwnd, wParam, lParam, fn) \
((fn)((hwnd)), 0L)
#define FORWARD_WM_EXITSIZEMOVE(hwnd, fn) \
- (void)((fn)((hwnd), WM_EXITSIZEMOVE, 0, 0L), 0L)
+ ((fn)((hwnd), WM_EXITSIZEMOVE, 0, 0L), 0L)
#endif
/* HICON Cls_OnQueryDragIcon(HWND hwnd) */
@@ -868,7 +868,7 @@
#define HANDLE_LB_ITEMFROMPOINT(hwnd, wParam, lParam, fn) \
(LRESULT)(DWORD)(fn)((hwnd), (SHORT)LOWORD(lParam), (SHORT)HIWORD(lParam))
-// TODO: HANDLE_LB_MULTIPLEADDSTRING and HANDLE_LB_GETLISTBOXINFO.
+/* TODO: HANDLE_LB_MULTIPLEADDSTRING and HANDLE_LB_GETLISTBOXINFO. */
/* DWORD ComboBox_OnGetEditSel(HWND hwnd, LPDWORD lpdwStart, LPDWORD lpdwEnd) */
#define HANDLE_CB_GETEDITSEL(hwnd, wParam, lParam, fn) \
@@ -1006,7 +1006,7 @@
#define HANDLE_CB_INITSTORAGE(hwnd, wParam, lParam, fn) \
(LRESULT)(INT_PTR)(INT)(fn)((hwnd), (INT)(wParam), (DWORD)(lParam))
-// TODO: CB_MULTIPLEADDSTRING and CB_GETCOMBOBOXINFO
+/* TODO: CB_MULTIPLEADDSTRING and CB_GETCOMBOBOXINFO */
/* INT ScrollBar_OnSetPos(HWND hwnd, INT nPos, BOOL fRedraw) */
#define HANDLE_SBM_SETPOS(hwnd, wParam, lParam, fn) \
@@ -1044,6 +1044,794 @@
#define HANDLE_SBM_GETSCROLLBARINFO(hwnd, wParam, lParam, fn) \
(LRESULT)(INT_PTR)(BOOL)(fn)((hwnd), (LPSCROLLBARINFO)(lParam))
+/* COLORREF ListView_OnGetBkColor(HWND hwnd) */
+#define HANDLE_LVM_GETBKCOLOR(hwnd, wParam, lParam, fn) \
+ (COLORREF)(fn)((hwnd))
+
+/* BOOL ListView_OnSetBkColor(HWND hwnd, COLORREF clrBk) */
+#define HANDLE_LVM_SETBKCOLOR(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (COLORREF)(wParam))
+
+/* HIMAGELIST ListView_OnGetImageList(HWND hwnd, INT iImageList) */
+#define HANDLE_LVM_GETIMAGELIST(hwnd, wParam, lParam, fn) \
+ (LRESULT)(HIMAGELIST)(fn)((hwnd), (INT)(wParam))
+
+/* HIMAGELIST ListView_OnSetImageList(HWND hwnd, INT iImageList, HIMAGELIST himl) */
+#define HANDLE_LVM_SETIMAGELIST(hwnd, wParam, lParam, fn) \
+ (LRESULT)(HIMAGELIST)(fn)((hwnd), (INT)(wParam), (HIMAGELIST)(lParam))
+
+/* INT ListView_OnGetItemCount(HWND hwnd) */
+#define HANDLE_LVM_GETITEMCOUNT(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd))
+
+/* BOOL ListView_OnGetItemA(HWND hwnd, LV_ITEMA *pitem) */
+#define HANDLE_LVM_GETITEMA(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (LV_ITEMA *)(lParam))
+
+/* BOOL ListView_OnSetItemA(HWND hwnd, const LV_ITEMA *pitem) */
+#define HANDLE_LVM_SETITEMA(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (const LV_ITEMA *)(lParam))
+
+/* INT ListView_OnInsertItemA(HWND hwnd, const LV_ITEMA *pitem) */
+#define HANDLE_LVM_INSERTITEMA(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (const LV_ITEMA *)(lParam))
+
+/* BOOL ListView_OnDeleteItem(HWND hwnd, INT i) */
+#define HANDLE_LVM_DELETEITEM(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam))
+
+/* BOOL ListView_OnDeleteAllItems(HWND hwnd) */
+#define HANDLE_LVM_DELETEALLITEMS(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd))
+
+/* BOOL ListView_OnGetCallbackMask(HWND hwnd) */
+#define HANDLE_LVM_GETCALLBACKMASK(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd))
+
+/* BOOL ListView_OnSetCallbackMask(HWND hwnd, UINT mask) */
+#define HANDLE_LVM_SETCALLBACKMASK(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (UINT)(wParam))
+
+/* INT ListView_OnGetNextItem(HWND hwnd, INT i, UINT flags) */
+#define HANDLE_LVM_GETNEXTITEM(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (INT)(wParam), (UINT)(lParam))
+
+/* INT ListView_OnFindItemA(HWND hwnd, INT iStart, const LV_FINDINFOA *plvfi) */
+#define HANDLE_LVM_FINDITEMA(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (INT)(wParam), (const LV_FINDINFOA *)(lParam))
+
+/* BOOL ListView_OnGetItemRect(HWND hwnd, INT i, RECT *prc) */
+#define HANDLE_LVM_GETITEMRECT(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam), (RECT *)(lParam))
+
+/* BOOL ListView_OnSetItemPosition(HWND hwnd, INT i, INT x, INT y) */
+#define HANDLE_LVM_SETITEMPOSITION(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam), (SHORT)LOWORD(lParam), (SHORT)HIWORD(lParam))
+
+/* BOOL ListView_OnGetItemPosition(HWND hwnd, INT i, POINT *ppt) */
+#define HANDLE_LVM_GETITEMPOSITION(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam), (POINT *)(lParam))
+
+/* INT ListView_OnGetStringWidthA(HWND hwnd, LPCSTR psz) */
+#define HANDLE_LVM_GETSTRINGWIDTHA(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (LPCSTR)(lParam))
+
+/* INT ListView_OnHitTest(HWND hwnd, LV_HITTESTINFO *pinfo) */
+#define HANDLE_LVM_HITTEST(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (LV_HITTESTINFO *)(lParam))
+
+/* BOOL ListView_OnEnsureVisible(HWND hwnd, INT i, BOOL fPartialOK) */
+#define HANDLE_LVM_ENSUREVISIBLE(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam), (BOOL)(lParam))
+
+/* BOOL ListView_OnScroll(HWND hwnd, INT dx, INT dy) */
+#define HANDLE_LVM_SCROLL(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam), (INT)(lParam))
+
+/* BOOL ListView_OnRedrawItems(HWND hwnd, INT iFirst, INT iLast) */
+#define HANDLE_LVM_REDRAWITEMS(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam), (INT)(lParam))
+
+/* BOOL ListView_OnArrange(HWND hwnd, UINT code) */
+#define HANDLE_LVM_ARRANGE(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (UINT)(wParam))
+
+/* HWND ListView_OnEditLabelA(HWND hwnd, INT i) */
+#define HANDLE_LVM_EDITLABELA(hwnd, wParam, lParam, fn) \
+ (LRESULT)(HWND)(fn)((hwnd), (INT)(wParam))
+
+/* HWND ListView_OnGetEditControl(HWND hwnd) */
+#define HANDLE_LVM_GETEDITCONTROL(hwnd, wParam, lParam, fn) \
+ (LRESULT)(HWND)(fn)((hwnd))
+
+/* BOOL ListView_OnGetColumnA(HWND hwnd, INT iCol, LV_COLUMNA *pcol) */
+#define HANDLE_LVM_GETCOLUMNA(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam), (LV_COLUMNA *)(lParam))
+
+/* BOOL ListView_OnSetColumnA(HWND hwnd, INT iCol, const LV_COLUMNA *pcol) */
+#define HANDLE_LVM_SETCOLUMNA(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam), (const LV_COLUMNA *)(lParam))
+
+/* INT ListView_OnInsertColumnA(HWND hwnd, INT iCol, const LV_COLUMNA *pcol) */
+#define HANDLE_LVM_INSERTCOLUMNA(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (INT)(wParam), (const LV_COLUMNA *)(lParam))
+
+/* BOOL ListView_OnDeleteColumn(HWND hwnd, INT iCol) */
+#define HANDLE_LVM_DELETECOLUMN(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam))
+
+/* INT ListView_OnGetColumnWidth(HWND hwnd, INT iCol) */
+#define HANDLE_LVM_GETCOLUMNWIDTH(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (INT)(wParam))
+
+/* BOOL ListView_OnSetColumnWidth(HWND hwnd, INT iCol, INT cx) */
+#define HANDLE_LVM_SETCOLUMNWIDTH(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam), (INT)(lParam))
+
+/* HWND ListView_OnGetHeader(HWND hwnd) */
+#define HANDLE_LVM_GETHEADER(hwnd, wParam, lParam, fn) \
+ (LRESULT)(HWND)(fn)((hwnd))
+
+/* HIMAGELIST ListView_OnCreateDragImage(HWND hwnd, INT i, LPPOINT lpptUpLeft) */
+#define HANDLE_LVM_CREATEDRAGIMAGE(hwnd, wParam, lParam, fn) \
+ (LRESULT)(HIMAGELIST)(fn)((hwnd), (INT)(wParam), (LPPOINT)(lParam))
+
+/* BOOL ListView_OnGetViewRect(HWND hwnd, RECT *prc) */
+#define HANDLE_LVM_GETVIEWRECT(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (RECT *)(lParam))
+
+/* COLORREF ListView_OnGetTextColor(HWND hwnd) */
+#define HANDLE_LVM_GETTEXTCOLOR(hwnd, wParam, lParam, fn) \
+ (COLORREF)(fn)((hwnd))
+
+/* BOOL ListView_OnSetTextColor(HWND hwnd, COLORREF clrText) */
+#define HANDLE_LVM_SETTEXTCOLOR(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (COLORREF)(lParam))
+
+/* COLORREF ListView_OnGetTextBkColor(HWND hwnd) */
+#define HANDLE_LVM_GETTEXTBKCOLOR(hwnd, wParam, lParam, fn) \
+ (COLORREF)(fn)((hwnd))
+
+/* BOOL ListView_OnSetTextBkColor(HWND hwnd, COLORREF clrTextBk) */
+#define HANDLE_LVM_SETTEXTBKCOLOR(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (COLORREF)(lParam))
+
+/* INT ListView_OnGetTopIndex(HWND hwnd) */
+#define HANDLE_LVM_GETTOPINDEX(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd))
+
+/* INT ListView_OnGetCountPerPage(HWND hwnd) */
+#define HANDLE_LVM_GETCOUNTPERPAGE(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd))
+
+/* BOOL ListView_OnGetOrigin(HWND hwnd, POINT *ppt) */
+#define HANDLE_LVM_GETORIGIN(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (POINT *)(lParam))
+
+/* BOOL ListView_OnUpdate(HWND hwnd, INT i) */
+#define HANDLE_LVM_UPDATE(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam))
+
+/* BOOL ListView_OnSetItemState(HWND hwnd, INT i, LV_ITEM *lvi) */
+#define HANDLE_LVM_SETITEMSTATE(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam), (LV_ITEM *)(lParam))
+
+/* UINT ListView_OnGetItemState(HWND hwnd, INT i, UINT mask) */
+#define HANDLE_LVM_GETITEMSTATE(hwnd, wParam, lParam, fn) \
+ (UINT)(fn)((hwnd), (INT)(wParam), (UINT)(lParam))
+
+/* INT ListView_OnGetItemTextA(HWND hwnd, INT i, LV_ITEMA *lvi) */
+#define HANDLE_LVM_GETITEMTEXTA(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (INT)(wParam), (LV_ITEMA *)(lParam))
+
+/* BOOL ListView_OnSetItemTextA(HWND hwnd, INT i, const LV_ITEMA *lvi) */
+#define HANDLE_LVM_SETITEMTEXTA(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam), (const LV_ITEMA *)(lParam))
+
+/* void ListView_OnSetItemCount(HWND hwnd, INT cItems) */
+#define HANDLE_LVM_SETITEMCOUNT(hwnd, wParam, lParam, fn) \
+ ((fn)((hwnd), (INT)(wParam)), 0L)
+
+/* BOOL ListView_OnSortItems(HWND hwnd, LPARAM lPrm, PFNLVCOMPARE pfnCompare) */
+#define HANDLE_LVM_SORTITEMS(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (LPARAM)(wParam), (PFNLVCOMPARE)(lParam))
+
+/* void ListView_OnSetItemPosition32(HWND hwnd, INT i, const POINT *ppt) */
+#define HANDLE_LVM_SETITEMPOSITION32(hwnd, wParam, lParam, fn) \
+ ((fn)((hwnd), (INT)(wParam), (const POINT *)(lParam)), 0L)
+
+/* UINT ListView_OnGetSelectedCount(HWND hwnd) */
+#define HANDLE_LVM_GETSELECTEDCOUNT(hwnd, wParam, lParam, fn) \
+ (UINT)(fn)((hwnd))
+
+/* DWORD ListView_OnGetItemSpacing(HWND hwnd, BOOL fSmall) */
+#define HANDLE_LVM_GETITEMSPACING(hwnd, wParam, lParam, fn) \
+ (DWORD)(fn)((hwnd), (BOOL)(wParam))
+
+/* BOOL ListView_OnGetISearchStringA(HWND hwnd, LPSTR lpsz) */
+#define HANDLE_LVM_GETISEARCHSTRINGA(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (LPSTR)(lParam))
+
+/* DWORD ListView_OnSetIconSpacing(HWND hwnd, INT cx, INT cy) */
+#define HANDLE_LVM_SETICONSPACING(hwnd, wParam, lParam, fn) \
+ (DWORD)(fn)((hwnd), (SHORT)LOWORD(lParam), (SHORT)HIWORD(lParam))
+
+/* DWORD ListView_OnSetExtendedListViewStyle(HWND hwnd, DWORD dwMask, DWORD dw) */
+#define HANDLE_LVM_SETEXTENDEDLISTVIEWSTYLE(hwnd, wParam, lParam, fn) \
+ (DWORD)(fn)((hwnd), (DWORD)(wParam), (DWORD)(lParam))
+
+/* DWORD ListView_OnGetExtendedListViewStyle(HWND hwnd) */
+#define HANDLE_LVM_GETEXTENDEDLISTVIEWSTYLE(hwnd, wParam, lParam, fn) \
+ (DWORD)(fn)((hwnd))
+
+/* BOOL ListView_OnGetSubItemRect(HWND hwnd, INT iItem, RECT *prc) */
+#define HANDLE_LVM_GETSUBITEMRECT(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam), (RECT *)(lParam))
+
+/* INT ListView_OnSubItemHitTest(HWND hwnd, WPARAM wParam, LPLVHITTESTINFO plvhti) */
+#define HANDLE_LVM_SUBITEMHITTEST(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (wParam), (LPLVHITTESTINFO)(lParam))
+
+/* BOOL ListView_OnSetColumnOrderArray(HWND hwnd, INT iCount, LPINT pi) */
+#define HANDLE_LVM_SETCOLUMNORDERARRAY(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam), (LPINT)(lParam))
+
+/* BOOL ListView_OnGetColumnOrderArray(HWND hwnd, INT iCount, LPINT pi) */
+#define HANDLE_LVM_GETCOLUMNORDERARRAY(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam), (LPINT)(lParam))
+
+/* INT ListView_OnSetHotItem(HWND hwnd, INT i) */
+#define HANDLE_LVM_SETHOTITEM(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (INT)(wParam))
+
+/* INT ListView_OnGetHotItem(HWND hwnd) */
+#define HANDLE_LVM_GETHOTITEM(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd))
+
+/* HCURSOR ListView_OnSetHotCursor(HWND hwnd, HCURSOR hcur) */
+#define HANDLE_LVM_SETHOTCURSOR(hwnd, wParam, lParam, fn) \
+ (LRESULT)(HCURSOR)(fn)((hwnd), (HCURSOR)(lParam))
+
+/* HCURSOR ListView_OnGetHotCursor(HWND hwnd) */
+#define HANDLE_LVM_GETHOTCURSOR(hwnd, wParam, lParam, fn) \
+ (LRESULT)(HCURSOR)(fn)((hwnd))
+
+/* DWORD ListView_OnApproximateViewRect(HWND hwnd, INT iWidth, INT iHeight, INT iCount)
*/
+#define HANDLE_LVM_APPROXIMATEVIEWRECT(hwnd, wParam, lParam, fn) \
+ (DWORD)(fn)((hwnd), (INT)(wParam), (SHORT)LOWORD(lParam), (SHORT)HIWORD(lParam))
+
+/* BOOL ListView_OnSetWorkAreas(HWND hwnd, INT nWorkAreas, const RECT *prc) */
+#define HANDLE_LVM_SETWORKAREAS(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam), (const RECT *)(lParam))
+
+/* INT ListView_OnGetSelectionMark(HWND hwnd) */
+#define HANDLE_LVM_GETSELECTIONMARK(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd))
+
+/* INT ListView_OnSetSelectionMark(HWND hwnd, INT i) */
+#define HANDLE_LVM_SETSELECTIONMARK(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (INT)(lParam))
+
+/* BOOL ListView_OnSetBkImageA(HWND hwnd, const LVBKIMAGEA *plvbki) */
+#define HANDLE_LVM_SETBKIMAGEA(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (const LVBKIMAGEA *)(lParam))
+
+/* BOOL ListView_OnGetBkImageA(HWND hwnd, LVBKIMAGEA *plvbki) */
+#define HANDLE_LVM_GETBKIMAGEA(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (LVBKIMAGEA *)(lParam))
+
+/* BOOL ListView_OnGetWorkAreas(HWND hwnd, INT nWorkAreas, RECT *prc) */
+#define HANDLE_LVM_GETWORKAREAS(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam), (RECT *)(lParam))
+
+/* DWORD ListView_OnSetHoverTime(HWND hwnd, DWORD dwHoverTimeMs) */
+#define HANDLE_LVM_SETHOVERTIME(hwnd, wParam, lParam, fn) \
+ (DWORD)(fn)((hwnd), (DWORD)(lParam))
+
+/* DWORD ListView_OnGetHoverTime(HWND hwnd) */
+#define HANDLE_LVM_GETHOVERTIME(hwnd, wParam, lParam, fn) \
+ (DWORD)(fn)((hwnd))
+
+/* BOOL ListView_OnGetNumberOfWorkAreas(HWND hwnd, UINT *pnWorkAreas) */
+#define HANDLE_LVM_GETNUMBEROFWORKAREAS(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (UINT *)(lParam))
+
+/* HWND ListView_OnSetToolTips(HWND hwnd, HWND hwndNewHwnd) */
+#define HANDLE_LVM_SETTOOLTIPS(hwnd, wParam, lParam, fn) \
+ (LRESULT)(HWND)(fn)((hwnd), (HWND)(wParam))
+
+/* BOOL ListView_OnGetItemW(HWND hwnd, LV_ITEMW *pitem) */
+#define HANDLE_LVM_GETITEMW(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (LV_ITEMW *)(lParam))
+
+/* BOOL ListView_OnSetItemW(HWND hwnd, const LV_ITEMW *pitem) */
+#define HANDLE_LVM_SETITEMW(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (const LV_ITEMW *)(lParam))
+
+/* INT ListView_OnInsertItemW(HWND hwnd, const LV_ITEMW *pitem) */
+#define HANDLE_LVM_INSERTITEMW(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (const LV_ITEMW *)(lParam))
+
+/* HWND ListView_OnGetToolTips(HWND hwnd) */
+#define HANDLE_LVM_GETTOOLTIPS(hwnd, wParam, lParam, fn) \
+ (LRESULT)(HWND)(fn)((hwnd))
+
+/* BOOL ListView_OnSortItemsEx(HWND hwnd, PFNLVCOMPARE pfnCompare, LPARAM lPrm) */
+#define HANDLE_LVM_SORTITEMSEX(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (PFNLVCOMPARE)(lParam), (LPARAM)(wParam))
+
+/* INT ListView_OnFindItemW(HWND hwnd, INT iStart, const LV_FINDINFOW *plvfi) */
+#define HANDLE_LVM_FINDITEMW(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (INT)(wParam), (const LV_FINDINFOW *)(lParam))
+
+/* INT ListView_OnGetStringWidthW(HWND hwnd, LPCWSTR psz) */
+#define HANDLE_LVM_GETSTRINGWIDTHW(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (LPCWSTR)(lParam))
+
+#if NTDDI_VERSION >= 0x06000000
+ /* UINT ListView_OnGetGroupState(HWND hwnd, DWORD dwGroupId, DWORD dwMask) */
+ #define HANDLE_LVM_GETGROUPSTATE(hwnd, wParam, lParam, fn) \
+ (UINT)(fn)((hwnd), (DWORD)(wParam), (DWORD)(lParam))
+
+ /* INT ListView_OnGetFocusedGroup(HWND hwnd) */
+ #define HANDLE_LVM_GETFOCUSEDGROUP(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd))
+#endif
+
+/* INT ListView_OnGetColumnW(HWND hwnd, INT iCol) */
+#define HANDLE_LVM_GETCOLUMNW(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (INT)(wParam))
+
+/* BOOL ListView_OnSetColumnW(HWND hwnd, INT iCol, INT cx) */
+#define HANDLE_LVM_SETCOLUMNW(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam), (INT)(lParam))
+
+/* INT ListView_OnInsertColumnW(HWND hwnd, INT iCol, const LV_COLUMNW *pcol) */
+#define HANDLE_LVM_INSERTCOLUMNW(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (INT)(wParam), (const LV_COLUMNW *)(lParam))
+
+#if NTDDI_VERSION >= 0x06000000
+ /* BOOL ListView_OnGetGroupRect(HWND hwnd, INT iGroupId, RECT *prc) */
+ #define HANDLE_LVM_GETGROUPRECT(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam), (RECT *)(lParam))
+#endif
+
+/* INT ListView_OnGetItemTextW(HWND hwnd, INT i, LV_ITEMW *pitem) */
+#define HANDLE_LVM_GETITEMTEXTW(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (INT)(wParam), (LV_ITEMW *)(lParam))
+
+/* INT ListView_OnSetItemTextW(HWND hwnd, INT i, const LV_ITEMW *pitem) */
+#define HANDLE_LVM_SETITEMTEXTW(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (INT)(wParam), (const LV_ITEMW *)(lParam))
+
+/* BOOL ListView_OnGetISearchStringW(HWND hwnd, LPWSTR lpsz) */
+#define HANDLE_LVM_GETISEARCHSTRINGW(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (LPWSTR)(lParam))
+
+/* HWND ListView_OnEditLabelW(HWND hwnd, INT i) */
+#define HANDLE_LVM_EDITLABELW(hwnd, wParam, lParam, fn) \
+ (LRESULT)(HWND)(fn)((hwnd), (INT)(wParam))
+
+/* BOOL ListView_OnSetBkImageW(HWND hwnd, const LVBKIMAGEW *plvbki) */
+#define HANDLE_LVM_SETBKIMAGEW(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (const LVBKIMAGEW *)(lParam))
+
+/* BOOL ListView_OnGetBkImageW(HWND hwnd, LVBKIMAGEW *plvbki) */
+#define HANDLE_LVM_GETBKIMAGEW(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (LVBKIMAGEW *)(lParam))
+
+/* void ListView_OnSetSelectedColumn(HWND hwnd, INT iCol) */
+#define HANDLE_LVM_SETSELECTEDCOLUMN(hwnd, wParam, lParam, fn) \
+ ((fn)((hwnd), (INT)(wParam)), 0L)
+
+/* LRESULT ListView_OnSetTileWidth(HWND hwnd, WPARAM wParam, LPARAM lParam) */
+#define HANDLE_LVM_SETTILEWIDTH(hwnd, wParam, lParam, fn) \
+ (LRESULT)(fn)((hwnd), (wParam), (lParam))
+
+/* DWORD ListView_OnSetView(HWND hwnd, DWORD iView) */
+#define HANDLE_LVM_SETVIEW(hwnd, wParam, lParam, fn) \
+ (DWORD)(fn)((hwnd), (DWORD)(wParam))
+
+/* DWORD ListView_OnGetView(HWND hwnd) */
+#define HANDLE_LVM_GETVIEW(hwnd, wParam, lParam, fn) \
+ (DWORD)(fn)((hwnd))
+
+#if NTDDI_VERSION >= 0x06000000
+ /* INT ListView_OnInsertGroup(HWND hwnd, INT iGroupId, const LVGROUP *pGroup) */
+ #define HANDLE_LVM_INSERTGROUP(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (INT)(wParam), (const LVGROUP *)(lParam))
+
+ /* INT ListView_OnSetGroupInfo(HWND hwnd, INT iGroupId, const LVGROUP *pGroup) */
+ #define HANDLE_LVM_SETGROUPINFO(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (INT)(wParam), (const LVGROUP *)(lParam))
+
+ /* INT ListView_OnGetGroupInfo(HWND hwnd, INT iGroupId, LVGROUP *pGroup) */
+ #define HANDLE_LVM_GETGROUPINFO(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (INT)(wParam), (LVGROUP *)(lParam))
+
+ /* INT ListView_OnRemoveGroup(HWND hwnd, INT iGroupId) */
+ #define HANDLE_LVM_REMOVEGROUP(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (INT)(wParam))
+
+ /* LRESULT ListView_OnMoveGroup(HWND hwnd, WPARAM wParam, LPARAM lParam) */
+ #define HANDLE_LVM_MOVEGROUP(hwnd, wParam, lParam, fn) \
+ (LRESULT)(fn)((hwnd), (wParam), (lParam))
+
+ /* INT ListView_OnGetGroupCount(HWND hwnd) */
+ #define HANDLE_LVM_GETGROUPCOUNT(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd))
+
+ /* BOOL ListView_OnGetGroupInfoByIndex(HWND hwnd, INT iIndex, LVGROUP *pgrp) */
+ #define HANDLE_LVM_GETGROUPINFOBYINDEX(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam), (LVGROUP *)(lParam))
+
+ /* LRESULT ListView_OnMoveItemToGroup(HWND hwnd, WPARAM wParam, LPARAM lParam) */
+ #define HANDLE_LVM_MOVEITEMTOGROUP(hwnd, wParam, lParam, fn) \
+ (LRESULT)(fn)((hwnd), (wParam), (lParam))
+
+ /* void ListView_OnSetGroupMetrics(HWND hwnd, const LVGROUPMETRICS *pGroupMetrics)
*/
+ #define HANDLE_LVM_SETGROUPMETRICS(hwnd, wParam, lParam, fn) \
+ ((fn)((hwnd), (const LVGROUPMETRICS *)(lParam)), 0L)
+
+ /* void ListView_OnGetGroupMetrics(HWND hwnd, LVGROUPMETRICS *pGroupMetrics) */
+ #define HANDLE_LVM_GETGROUPMETRICS(hwnd, wParam, lParam, fn) \
+ ((fn)((hwnd), (LVGROUPMETRICS *)(lParam)), 0L)
+
+ /* INT ListView_OnEnableGroupView(HWND hwnd, BOOL fEnable) */
+ #define HANDLE_LVM_ENABLEGROUPVIEW(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (BOOL)(wParam))
+
+ /* BOOL ListView_OnSortGroups(HWND hwnd, PFNLVGROUPCOMPARE pfnGroupCompate, void
*plv) */
+ #define HANDLE_LVM_SORTGROUPS(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (PFNLVGROUPCOMPARE)(wParam), (void *)(lParam))
+
+ /* void ListView_OnInsertGroupSorted(HWND hwnd, const LVINSERTGROUPSORTED
*structInsert) */
+ #define HANDLE_LVM_INSERTGROUPSORTED(hwnd, wParam, lParam, fn) \
+ ((fn)((hwnd), (const LVINSERTGROUPSORTED *)(wParam)), 0L)
+
+ /* void ListView_OnRemoveAllGroups(HWND hwnd) */
+ #define HANDLE_LVM_REMOVEALLGROUPS(hwnd, wParam, lParam, fn) \
+ ((fn)((hwnd)), 0L)
+
+ /* BOOL ListView_OnHasGroup(HWND hwnd, DWORD dwGroupId) */
+ #define HANDLE_LVM_HASGROUP(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (DWORD)(wParam))
+#endif
+
+/* BOOL ListView_OnSetTileViewInfo(HWND hwnd, const LVTILEVIEWINFO *ptvi) */
+#define HANDLE_LVM_SETTILEVIEWINFO(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (const LVTILEVIEWINFO *)(lParam))
+
+/* void ListView_OnGetTileViewInfo(HWND hwnd, LVTILEVIEWINFO *ptvi) */
+#define HANDLE_LVM_GETTILEVIEWINFO(hwnd, wParam, lParam, fn) \
+ ((fn)((hwnd), (LVTILEVIEWINFO *)(lParam)), 0L)
+
+/* BOOL ListView_OnSetTileInfo(HWND hwnd, const LVTILEINFO *pti) */
+#define HANDLE_LVM_SETTILEINFO(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (const LVTILEINFO *)(lParam))
+
+/* void ListView_OnGetTileInfo(HWND hwnd, LVTILEINFO *pti) */
+#define HANDLE_LVM_GETTILEINFO(hwnd, wParam, lParam, fn) \
+ ((fn)((hwnd), (LVTILEINFO *)(lParam)), 0L)
+
+/* BOOL ListView_OnSetInsertMark(HWND hwnd, const LVINSERTMARK *lvim) */
+#define HANDLE_LVM_SETINSERTMARK(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (const LVINSERTMARK *)(lParam))
+
+/* BOOL ListView_OnGetInsertMark(HWND hwnd, LVINSERTMARK *lvim) */
+#define HANDLE_LVM_GETINSERTMARK(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (LVINSERTMARK *)(lParam))
+
+/* INT ListView_OnInsertMarkHitTest(HWND hwnd, LPPOINT point, LPLVINSERTMARK lvim) */
+#define HANDLE_LVM_INSERTMARKHITTEST(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (LPPOINT)(wParam), (LPLVINSERTMARK)(lParam))
+
+/* INT ListView_OnGetInsertMarkRect(HWND hwnd, LPRECT rc) */
+#define HANDLE_LVM_GETINSERTMARKRECT(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (LPRECT)(lParam))
+
+/* COLORREF ListView_OnSetInsertMarkColor(HWND hwnd, COLORREF color) */
+#define HANDLE_LVM_SETINSERTMARKCOLOR(hwnd, wParam, lParam, fn) \
+ (COLORREF)(fn)((hwnd), (COLORREF)(lParam))
+
+/* COLORREF ListView_OnGetInsertMarkColor(HWND hwnd) */
+#define HANDLE_LVM_GETINSERTMARKCOLOR(hwnd, wParam, lParam, fn) \
+ (COLORREF)(fn)((hwnd))
+
+/* BOOL ListView_OnSetInfoTip(HWND hwnd, const LVSETINFOTIP *plvInfoTip) */
+#define HANDLE_LVM_SETINFOTIP(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (const LVSETINFOTIP *)(lParam))
+
+/* UINT ListView_OnGetSelectedColumn(HWND hwnd) */
+#define HANDLE_LVM_GETSELECTEDCOLUMN(hwnd, wParam, lParam, fn) \
+ (UINT)(fn)((hwnd))
+
+/* BOOL ListView_OnIsGroupViewEnabled(HWND hwnd) */
+#define HANDLE_LVM_ISGROUPVIEWENABLED(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd))
+
+/* COLORREF ListView_OnGetOutlineColor(HWND hwnd) */
+#define HANDLE_LVM_GETOUTLINECOLOR(hwnd, wParam, lParam, fn) \
+ (COLORREF)(fn)((hwnd))
+
+/* COLORREF ListView_OnSetOutlineColor(HWND hwnd, COLORREF color) */
+#define HANDLE_LVM_SETOUTLINECOLOR(hwnd, wParam, lParam, fn) \
+ (COLORREF)(fn)((hwnd), (COLORREF)(lParam))
+
+/* void ListView_OnCancelEditLabel(HWND hwnd) */
+#define HANDLE_LVM_CANCELEDITLABEL(hwnd, wParam, lParam, fn) \
+ ((fn)((hwnd)), 0L)
+
+/* UINT ListView_OnMapIndexToID(HWND hwnd, UINT index) */
+#define HANDLE_LVM_MAPINDEXTOID(hwnd, wParam, lParam, fn) \
+ (UINT)(fn)((hwnd), (UINT)(wParam))
+
+/* UINT ListView_OnMapIDToIndex(HWND hwnd, UINT id) */
+#define HANDLE_LVM_MAPIDTOINDEX(hwnd, wParam, lParam, fn) \
+ (UINT)(fn)((hwnd), (UINT)(wParam))
+
+/* BOOL ListView_OnIsItemVisible(HWND hwnd, UINT index) */
+#define HANDLE_LVM_ISITEMVISIBLE(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (UINT)(wParam))
+
+#if NTDDI_VERSION >= 0x06000000
+ /* void ListView_OnGetEmptyText(HWND hwnd, PWSTR pszText, UINT cchText) */
+ #define HANDLE_LVM_GETEMPTYTEXT(hwnd, wParam, lParam, fn) \
+ ((fn)((hwnd), (PWSTR)(lParam), (UINT)(wParam)), 0L)
+
+ /* BOOL ListView_OnGetFooterRect(HWND hwnd, RECT *prc) */
+ #define HANDLE_LVM_GETFOOTERRECT(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (RECT *)(lParam))
+
+ /* BOOL ListView_OnGetFooterInfo(HWND hwnd, LVFOOTERINFO *plvfi) */
+ #define HANDLE_LVM_GETFOOTERINFO(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (LVFOOTERINFO *)(lParam))
+
+ /* BOOL ListView_OnGetFooterItemRect(HWND hwnd, INT iItem, RECT *prc) */
+ #define HANDLE_LVM_GETFOOTERITEMRECT(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam), (RECT *)(lParam))
+
+ /* BOOL ListView_OnGetFooterItem(HWND hwnd, INT iItem, LVFOOTERITEM *pfi) */
+ #define HANDLE_LVM_GETFOOTERITEM(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam), (LVFOOTERITEM *)(lParam))
+
+ /* BOOL ListView_OnGetItemIndexRect(HWND hwnd, const LVITEMINDEX *plvii, RECT *prc)
*/
+ #define HANDLE_LVM_GETITEMINDEXRECT(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (const LVITEMINDEX *)(wParam), (RECT *)(lParam))
+
+ /* HRESULT ListView_OnSetItemIndexState(HWND hwnd, const LVITEMINDEX *plvii, const
LV_ITEM *lvi) */
+ #define HANDLE_LVM_SETITEMINDEXSTATE(hwnd, wParam, lParam, fn) \
+ (HRESULT)(fn)((hwnd), (const LVITEMINDEX *)(wParam), (const LV_ITEM *)(lParam))
+
+ /* BOOL ListView_OnGetNextItemIndex(HWND hwnd, LVITEMINDEX *plvii, UINT flags) */
+ #define HANDLE_LVM_GETNEXTITEMINDEX(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (LVITEMINDEX *)(wParam), (UINT)(lParam))
+#endif
+
+/* HTREEITEM TreeView_OnInsertItemA(HWND hwnd, LPTV_INSERTSTRUCTA lpis) */
+#define HANDLE_TVM_INSERTITEMA(hwnd, wParam, lParam, fn) \
+ (LRESULT)(HTREEITEM)(fn)((hwnd), (LPTV_INSERTSTRUCTA)(lParam))
+
+/* BOOL TreeView_OnDeleteItem(HWND hwnd, HTREEITEM hitem) */
+#define HANDLE_TVM_DELETEITEM(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (HTREEITEM)(lParam))
+
+/* BOOL TreeView_OnExpand(HWND hwnd, HTREEITEM hitem, UINT code) */
+#define HANDLE_TVM_EXPAND(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (HTREEITEM)(lParam), (UINT)(wParam))
+
+/* BOOL TreeView_OnGetItemRect(HWND hwnd, UINT code, RECT *prc) */
+#define HANDLE_TVM_GETITEMRECT(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (UINT)(wParam), (RECT *)(lParam))
+
+/* UINT TreeView_OnGetCount(HWND hwnd) */
+#define HANDLE_TVM_GETCOUNT(hwnd, wParam, lParam, fn) \
+ (UINT)(fn)((hwnd))
+
+/* UINT TreeView_OnGetIndent(HWND hwnd) */
+#define HANDLE_TVM_GETINDENT(hwnd, wParam, lParam, fn) \
+ (UINT)(fn)((hwnd))
+
+/* BOOL TreeView_OnSetIndent(HWND hwnd, INT indent) */
+#define HANDLE_TVM_SETINDENT(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (INT)(wParam))
+
+/* HIMAGELIST TreeView_OnGetImageList(HWND hwnd, INT iImage) */
+#define HANDLE_TVM_GETIMAGELIST(hwnd, wParam, lParam, fn) \
+ (LRESULT)(HIMAGELIST)(fn)((hwnd), (INT)(wParam))
+
+/* HIMAGELIST TreeView_OnSetImageList(HWND hwnd, INT iImage, HIMAGELIST himl) */
+#define HANDLE_TVM_SETIMAGELIST(hwnd, wParam, lParam, fn) \
+ (LRESULT)(HIMAGELIST)(fn)((hwnd), (INT)(wParam), (HIMAGELIST)(lParam))
+
+/* HTREEITEM TreeView_OnGetNextItem(HWND hwnd, HTREEITEM hitem, UINT code) */
+#define HANDLE_TVM_GETNEXTITEM(hwnd, wParam, lParam, fn) \
+ (LRESULT)(HTREEITEM)(fn)((hwnd), (HTREEITEM)(lParam), (UINT)(wParam))
+
+/* BOOL TreeView_OnSelectItem(HWND hwnd, UINT code, HTREEITEM hitem) */
+#define HANDLE_TVM_SELECTITEM(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (UINT)(wParam), (HTREEITEM)(lParam))
+
+/* BOOL TreeView_OnGetItemA(HWND hwnd, TV_ITEMA *pitem) */
+#define HANDLE_TVM_GETITEMA(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (TV_ITEMA *)(lParam))
+
+/* BOOL TreeView_OnSetItemA(HWND hwnd, const TV_ITEMA *pitem) */
+#define HANDLE_TVM_SETITEMA(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (const TV_ITEMA *)(lParam))
+
+/* HWND TreeView_OnEditLabelA(HWND hwnd, HTREEITEM hitem) */
+#define HANDLE_TVM_EDITLABELA(hwnd, wParam, lParam, fn) \
+ (LRESULT)(HWND)(fn)((hwnd), (HTREEITEM)(lParam))
+
+/* HWND TreeView_OnGetEditControl(HWND hwnd) */
+#define HANDLE_TVM_GETEDITCONTROL(hwnd, wParam, lParam, fn) \
+ (LRESULT)(HWND)(fn)((hwnd))
+
+/* UINT TreeView_OnGetVisibleCount(HWND hwnd) */
+#define HANDLE_TVM_GETVISIBLECOUNT(hwnd, wParam, lParam, fn) \
+ (UINT)(fn)((hwnd))
+
+/* HTREEITEM TreeView_OnHitTest(HWND hwnd, LPTV_HITTESTINFO lpht) */
+#define HANDLE_TVM_HITTEST(hwnd, wParam, lParam, fn) \
+ (LRESULT)(HTREEITEM)(fn)((hwnd), (LPTV_HITTESTINFO)(lParam))
+
+/* HIMAGELIST TreeView_OnCreateDragImage(HWND hwnd, HTREEITEM hitem) */
+#define HANDLE_TVM_CREATEDRAGIMAGE(hwnd, wParam, lParam, fn) \
+ (LRESULT)(HIMAGELIST)(fn)((hwnd), (HTREEITEM)(lParam))
+
+/* BOOL TreeView_OnSortChildren(HWND hwnd, HTREEITEM hitem, BOOL recurse) */
+#define HANDLE_TVM_SORTCHILDREN(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (HTREEITEM)(lParam), (BOOL)(wParam))
+
+/* BOOL TreeView_OnEnsureVisible(HWND hwnd, HTREEITEM hitem) */
+#define HANDLE_TVM_ENSUREVISIBLE(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (HTREEITEM)(lParam))
+
+/* BOOL TreeView_OnSortChildrenCB(HWND hwnd, LPTV_SORTCB psort, BOOL recurse) */
+#define HANDLE_TVM_SORTCHILDRENCB(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (LPTV_SORTCB)(lParam), (BOOL)(wParam))
+
+/* BOOL TreeView_OnEndEditLabelNow(HWND hwnd, BOOL fCancel) */
+#define HANDLE_TVM_ENDEDITLABELNOW(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (BOOL)(wParam))
+
+/* BOOL TreeView_OnGetISearchStringA(HWND hwnd, LPSTR lpsz) */
+#define HANDLE_TVM_GETISEARCHSTRINGA(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (LPSTR)(lParam))
+
+/* HWND TreeView_OnSetToolTips(HWND hwnd, HWND hwndTT) */
+#define HANDLE_TVM_SETTOOLTIPS(hwnd, wParam, lParam, fn) \
+ (LRESULT)(HWND)(fn)((hwnd), (HWND)(wParam))
+
+/* HWND TreeView_OnGetToolTips(HWND hwnd) */
+#define HANDLE_TVM_GETTOOLTIPS(hwnd, wParam, lParam, fn) \
+ (LRESULT)(HWND)(fn)((hwnd))
+
+/* BOOL TreeView_OnSetInsertMark(HWND hwnd, HTREEITEM hItem, BOOL fAfter) */
+#define HANDLE_TVM_SETINSERTMARK(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (HTREEITEM)(lParam), (BOOL)(wParam))
+
+/* INT TreeView_OnSetItemHeight(HWND hwnd, INT iHeight) */
+#define HANDLE_TVM_SETITEMHEIGHT(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (INT)(wParam))
+
+/* INT TreeView_OnGetItemHeight(HWND hwnd) */
+#define HANDLE_TVM_GETITEMHEIGHT(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd))
+
+/* COLORREF TreeView_OnSetBkColor(HWND hwnd, COLORREF clr) */
+#define HANDLE_TVM_SETBKCOLOR(hwnd, wParam, lParam, fn) \
+ (COLORREF)(fn)((hwnd), (COLORREF)(lParam))
+
+/* COLORREF TreeView_OnSetTextColor(HWND hwnd, COLORREF clr) */
+#define HANDLE_TVM_SETTEXTCOLOR(hwnd, wParam, lParam, fn) \
+ (COLORREF)(fn)((hwnd), (COLORREF)(lParam))
+
+/* COLORREF TreeView_OnGetBkColor(HWND hwnd) */
+#define HANDLE_TVM_GETBKCOLOR(hwnd, wParam, lParam, fn) \
+ (COLORREF)(fn)((hwnd))
+
+/* COLORREF TreeView_OnGetTextColor(HWND hwnd) */
+#define HANDLE_TVM_GETTEXTCOLOR(hwnd, wParam, lParam, fn) \
+ (COLORREF)(fn)((hwnd))
+
+/* UINT TreeView_OnSetScrollTime(HWND hwnd, UINT uTime) */
+#define HANDLE_TVM_SETSCROLLTIME(hwnd, wParam, lParam, fn) \
+ (UINT)(fn)((hwnd), (UINT)(wParam))
+
+/* UINT TreeView_OnGetScrollTime(HWND hwnd) */
+#define HANDLE_TVM_GETSCROLLTIME(hwnd, wParam, lParam, fn) \
+ (UINT)(fn)((hwnd))
+
+#if NTDDI_VERSION >= 0x06000000
+ /* INT TreeView_OnSetBorder(HWND hwnd, DWORD dwFlags, INT xBorder, INT yBorder) */
+ #define HANDLE_TVM_SETBORDER(hwnd, wParam, lParam, fn) \
+ (INT)(fn)((hwnd), (DWORD)(wParam), (SHORT)LOWORD(lParam), (SHORT)HIWORD(lParam))
+#endif
+
+/* COLORREF TreeView_OnSetInsertMarkColor(HWND hwnd, COLORREF clr) */
+#define HANDLE_TVM_SETINSERTMARKCOLOR(hwnd, wParam, lParam, fn) \
+ (COLORREF)(fn)((hwnd), (COLORREF)(lParam))
+
+/* COLORREF TreeView_OnGetInsertMarkColor(HWND hwnd) */
+#define HANDLE_TVM_GETINSERTMARKCOLOR(hwnd, wParam, lParam, fn) \
+ (COLORREF)(fn)((hwnd))
+
+/* UINT TreeView_OnGetItemState(HWND hwnd, HTREEITEM hti, UINT mask) */
+#define HANDLE_TVM_GETITEMSTATE(hwnd, wParam, lParam, fn) \
+ (UINT)(fn)((hwnd), (HTREEITEM)(wParam), (UINT)(lParam))
+
+/* COLORREF TreeView_OnSetLineColor(HWND hwnd, COLORREF clr) */
+#define HANDLE_TVM_SETLINECOLOR(hwnd, wParam, lParam, fn) \
+ (COLORREF)(fn)((hwnd), (COLORREF)(lParam))
+
+/* COLORREF TreeView_OnGetLineColor(HWND hwnd) */
+#define HANDLE_TVM_GETLINECOLOR(hwnd, wParam, lParam, fn) \
+ (COLORREF)(fn)((hwnd))
+
+/* HTREEITEM TreeView_OnMapAccIDToHTREEITEM(HWND hwnd, UINT id) */
+#define HANDLE_TVM_MAPACCIDTOHTREEITEM(hwnd, wParam, lParam, fn) \
+ (LRESULT)(HTREEITEM)(fn)((hwnd), (UINT)(wParam))
+
+/* UINT TreeView_OnMapHTREEITEMToAccID(HWND hwnd, HTREEITEM htreeitem) */
+#define HANDLE_TVM_MAPHTREEITEMTOACCID(hwnd, wParam, lParam, fn) \
+ (UINT)(fn)((hwnd), (HTREEITEM)(wParam))
+
+#if NTDDI_VERSION >= 0x06000000
+ /* DWORD TreeView_OnSetExtendedStyle(HWND hwnd, DWORD dw, DWORD mask) */
+ #define HANDLE_TVM_SETEXTENDEDSTYLE(hwnd, wParam, lParam, fn) \
+ (DWORD)(fn)((hwnd), (DWORD)(wParam), (DWORD)(lParam))
+
+ /* DWORD TreeView_OnGetExtendedStyle(HWND hwnd) */
+ #define HANDLE_TVM_GETEXTENDEDSTYLE(hwnd, wParam, lParam, fn) \
+ (DWORD)(fn)((hwnd))
+#endif
+
+/* HTREEITEM TreeView_OnInsertItemW(HWND hwnd, LPTV_INSERTSTRUCTW lpis) */
+#define HANDLE_TVM_INSERTITEMW(hwnd, wParam, lParam, fn) \
+ (LRESULT)(HTREEITEM)(fn)((hwnd), (LPTV_INSERTSTRUCTW)(lParam))
+
+#if NTDDI_VERSION >= 0x06000000
+ /* BOOL TreeView_OnSetHot(HWND hwnd, HTREEITEM hitem) */
+ #define HANDLE_TVM_SETHOT(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (HTREEITEM)(lParam))
+
+ /* BOOL TreeView_OnSetAutoScrollInfo(HWND hwnd, UINT uPixPerSec, UINT uUpdateTime)
*/
+ #define HANDLE_TVM_SETAUTOSCROLLINFO(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (UINT)(wParam), (UINT)(lParam))
+#endif
+
+/* BOOL TreeView_OnGetItemW(HWND hwnd, TV_ITEMW *pitem) */
+#define HANDLE_TVM_GETITEMW(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (TV_ITEMW *)(lParam))
+
+/* BOOL TreeView_OnSetItemW(HWND hwnd, const TV_ITEMW *pitem) */
+#define HANDLE_TVM_SETITEMW(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (const TV_ITEMW *)(lParam))
+
+/* BOOL TreeView_OnGetISearchStringW(HWND hwnd, LPWSTR lpsz) */
+#define HANDLE_TVM_GETISEARCHSTRINGW(hwnd, wParam, lParam, fn) \
+ (BOOL)(fn)((hwnd), (LPWSTR)(lParam))
+
+/* HWND TreeView_OnEditLabelW(HWND hwnd, HTREEITEM hitem) */
+#define HANDLE_TVM_EDITLABELW(hwnd, wParam, lParam, fn) \
+ (LRESULT)(HWND)(fn)((hwnd), (HTREEITEM)(lParam))
+
+#if NTDDI_VERSION >= 0x06000000
+ /* DWORD TreeView_OnGetSelectedCount(HWND hwnd) */
+ #define HANDLE_TVM_GETSELECTEDCOUNT(hwnd, wParam, lParam, fn) \
+ (DWORD)(fn)((hwnd))
+
+ /* DWORD TreeView_OnShowInfoTip(HWND hwnd, HTREEITEM hitem) */
+ #define HANDLE_TVM_SHOWINFOTIP(hwnd, wParam, lParam, fn) \
+ (DWORD)(fn)((hwnd), (HTREEITEM)(lParam))
+
+ /* LRESULT TreeView_OnGetItemPartRect(HWND hwnd, WPARAM wParam, LPARAM lParam) */
+ #define HANDLE_TVM_GETITEMPARTRECT(hwnd, wParam, lParam, fn) \
+ (LRESULT)(fn)((hwnd), (wParam), (lParam))
+#endif
+
#ifdef _UNDOCUSER_H /* UNDOCUMENTED */
/* LRESULT Cls_OnDropObject(HWND hwnd, WPARAM wParam, LPARAM lParam) */
#ifndef HANDLE_WM_DROPOBJECT