Commit 9e99d2b7 authored by Dimitrie O. Paun's avatar Dimitrie O. Paun Committed by Alexandre Julliard

- Make the ListView control Unicode ready.

- Support both ANSI & Unicode ListView notifications. - Fixed a few bugs.
parent 97b8c570
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -2925,16 +2925,26 @@ typedef struct tagLVHITTESTINFO
#define _LV_HITTESTINFO tagLVHITTESTINFO
#define LVHITTESTINFO_V1_SIZE CCSIZEOF_STRUCT(LVHITTESTINFO,iItem)
typedef struct tagLVFINDINFO
typedef struct tagLVFINDINFOA
{
UINT flags;
LPCSTR psz;
LPARAM lParam;
POINT pt;
UINT vkDirection;
} LVFINDINFO, *LPLVFINDINFO;
} LVFINDINFOA, *LPLVFINDINFOA;
#define LV_FINDINFO LVFINDINFO
typedef struct tagLVFINDINFOW
{
UINT flags;
LPCWSTR psz;
LPARAM lParam;
POINT pt;
UINT vkDirection;
} LVFINDINFOW, *LPLVFINDINFOW;
#define LVFINDINFO WINELIB_NAME_AW(LVFINDINFO)
#define LPLVFINDINFO WINELIB_NAME_AW(LPLVFINDINFO)
typedef struct tagTCHITTESTINFO
{
......@@ -2967,16 +2977,23 @@ typedef struct tagNMLVCACHEHINT
#define PNM_CACHEHINT LPNMLVCACHEHINT
#define NM_CACHEHINT NMLVCACHEHINT
typedef struct tagNMLVFINDITEM
typedef struct tagNMLVFINDITEMA
{
NMHDR hdr;
int iStart;
LVFINDINFOA lvfi;
} NMLVFINDITEMA, *LPNMLVFINDITEMA;
typedef struct tagNMLVFINDITEMW
{
NMHDR hdr;
int iStart;
LVFINDINFO lvfi;
} NMLVFINDITEM, *LPNMLVFINDITEM;
LVFINDINFOW lvfi;
} NMLVFINDITEMW, *LPNMLVFINDITEMW;
#define NM_FINDITEM NMLVFINDITEM
#define PNM_FINDITEM LPNMLVFINDITEM
#define LPNM_FINDITEM LPNMLVFINDITEM
#define NMFINDITEM WINELIB_NAME_AW(NMLVFINDITEM)
#define PNMFINDITEM LPNMLVFINDITEM
#define LPNMFINDITEM WINELIB_NAME_AW(LPNMLVFINDITEM)
typedef struct tagNMLVODSTATECHANGE
{
......@@ -3011,8 +3028,10 @@ typedef struct tagNMLVODSTATECHANGE
#define ListView_GetNextItem(hwnd,nItem,flags) \
(INT)SendMessageA((hwnd),LVM_GETNEXTITEM,(WPARAM)(INT)(nItem),(LPARAM)(MAKELPARAM(flags,0)))
#define ListView_FindItem(hwnd,nItem,plvfi) \
(INT)SendMessageA((hwnd),LVM_FINDITEMA,(WPARAM)(INT)(nItem),(LPARAM)(LVFINDINFO*)(plvfi))
#define ListView_FindItemA(hwnd,nItem,plvfi) \
(INT)SendMessageA((hwnd),LVM_FINDITEMA,(WPARAM)(INT)(nItem),(LPARAM)(LVFINDINFOA*)(plvfi))
#define ListView_FindItemW(hwnd,nItem,plvfi) \
(INT)SendMessageW((hwnd),LVM_FINDITEMW,(WPARAM)(INT)(nItem),(LPARAM)(LVFINDINFOW*)(plvfi))
#define ListView_Arrange(hwnd,code) \
(INT)SendMessageA((hwnd),LVM_ARRANGE,(WPARAM)(INT)(code),0L)
#define ListView_GetItemPosition(hwnd,i,ppt) \
......
......@@ -1466,7 +1466,7 @@ static const SPY_NOTIFY spnfy_array[] = {
SPNFY(LVN_HOTTRACK, NMLISTVIEW),
SPNFY(LVN_GETDISPINFOA, NMLVDISPINFOA),
SPNFY(LVN_SETDISPINFOA, NMLVDISPINFOA),
SPNFY(LVN_ODFINDITEMA, NMLVFINDITEM),
SPNFY(LVN_ODFINDITEMA, NMLVFINDITEMA),
SPNFY(LVN_KEYDOWN, NMLVKEYDOWN),
SPNFY(LVN_MARQUEEBEGIN, NMLISTVIEW),
SPNFY(LVN_GETINFOTIPA, NMLVGETINFOTIPA),
......@@ -1475,7 +1475,7 @@ static const SPY_NOTIFY spnfy_array[] = {
SPNFY(LVN_ENDLABELEDITW, NMLVDISPINFOW),
SPNFY(LVN_GETDISPINFOW, NMLVDISPINFOW),
SPNFY(LVN_SETDISPINFOW, NMLVDISPINFOW),
SPNFY(LVN_ODFINDITEMW, NMLVFINDITEM),
SPNFY(LVN_ODFINDITEMW, NMLVFINDITEMW),
/* Header 0U-300U to 0U-399U */
SPNFY(HDN_ITEMCHANGINGA, NMHDR),
SPNFY(HDN_ITEMCHANGEDA, NMHDR),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment