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 ...@@ -2925,16 +2925,26 @@ typedef struct tagLVHITTESTINFO
#define _LV_HITTESTINFO tagLVHITTESTINFO #define _LV_HITTESTINFO tagLVHITTESTINFO
#define LVHITTESTINFO_V1_SIZE CCSIZEOF_STRUCT(LVHITTESTINFO,iItem) #define LVHITTESTINFO_V1_SIZE CCSIZEOF_STRUCT(LVHITTESTINFO,iItem)
typedef struct tagLVFINDINFO typedef struct tagLVFINDINFOA
{ {
UINT flags; UINT flags;
LPCSTR psz; LPCSTR psz;
LPARAM lParam; LPARAM lParam;
POINT pt; POINT pt;
UINT vkDirection; 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 typedef struct tagTCHITTESTINFO
{ {
...@@ -2967,16 +2977,23 @@ typedef struct tagNMLVCACHEHINT ...@@ -2967,16 +2977,23 @@ typedef struct tagNMLVCACHEHINT
#define PNM_CACHEHINT LPNMLVCACHEHINT #define PNM_CACHEHINT LPNMLVCACHEHINT
#define NM_CACHEHINT NMLVCACHEHINT #define NM_CACHEHINT NMLVCACHEHINT
typedef struct tagNMLVFINDITEM typedef struct tagNMLVFINDITEMA
{
NMHDR hdr;
int iStart;
LVFINDINFOA lvfi;
} NMLVFINDITEMA, *LPNMLVFINDITEMA;
typedef struct tagNMLVFINDITEMW
{ {
NMHDR hdr; NMHDR hdr;
int iStart; int iStart;
LVFINDINFO lvfi; LVFINDINFOW lvfi;
} NMLVFINDITEM, *LPNMLVFINDITEM; } NMLVFINDITEMW, *LPNMLVFINDITEMW;
#define NM_FINDITEM NMLVFINDITEM #define NMFINDITEM WINELIB_NAME_AW(NMLVFINDITEM)
#define PNM_FINDITEM LPNMLVFINDITEM #define PNMFINDITEM LPNMLVFINDITEM
#define LPNM_FINDITEM LPNMLVFINDITEM #define LPNMFINDITEM WINELIB_NAME_AW(LPNMLVFINDITEM)
typedef struct tagNMLVODSTATECHANGE typedef struct tagNMLVODSTATECHANGE
{ {
...@@ -3011,8 +3028,10 @@ typedef struct tagNMLVODSTATECHANGE ...@@ -3011,8 +3028,10 @@ typedef struct tagNMLVODSTATECHANGE
#define ListView_GetNextItem(hwnd,nItem,flags) \ #define ListView_GetNextItem(hwnd,nItem,flags) \
(INT)SendMessageA((hwnd),LVM_GETNEXTITEM,(WPARAM)(INT)(nItem),(LPARAM)(MAKELPARAM(flags,0))) (INT)SendMessageA((hwnd),LVM_GETNEXTITEM,(WPARAM)(INT)(nItem),(LPARAM)(MAKELPARAM(flags,0)))
#define ListView_FindItem(hwnd,nItem,plvfi) \ #define ListView_FindItemA(hwnd,nItem,plvfi) \
(INT)SendMessageA((hwnd),LVM_FINDITEMA,(WPARAM)(INT)(nItem),(LPARAM)(LVFINDINFO*)(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) \ #define ListView_Arrange(hwnd,code) \
(INT)SendMessageA((hwnd),LVM_ARRANGE,(WPARAM)(INT)(code),0L) (INT)SendMessageA((hwnd),LVM_ARRANGE,(WPARAM)(INT)(code),0L)
#define ListView_GetItemPosition(hwnd,i,ppt) \ #define ListView_GetItemPosition(hwnd,i,ppt) \
......
...@@ -1466,7 +1466,7 @@ static const SPY_NOTIFY spnfy_array[] = { ...@@ -1466,7 +1466,7 @@ static const SPY_NOTIFY spnfy_array[] = {
SPNFY(LVN_HOTTRACK, NMLISTVIEW), SPNFY(LVN_HOTTRACK, NMLISTVIEW),
SPNFY(LVN_GETDISPINFOA, NMLVDISPINFOA), SPNFY(LVN_GETDISPINFOA, NMLVDISPINFOA),
SPNFY(LVN_SETDISPINFOA, NMLVDISPINFOA), SPNFY(LVN_SETDISPINFOA, NMLVDISPINFOA),
SPNFY(LVN_ODFINDITEMA, NMLVFINDITEM), SPNFY(LVN_ODFINDITEMA, NMLVFINDITEMA),
SPNFY(LVN_KEYDOWN, NMLVKEYDOWN), SPNFY(LVN_KEYDOWN, NMLVKEYDOWN),
SPNFY(LVN_MARQUEEBEGIN, NMLISTVIEW), SPNFY(LVN_MARQUEEBEGIN, NMLISTVIEW),
SPNFY(LVN_GETINFOTIPA, NMLVGETINFOTIPA), SPNFY(LVN_GETINFOTIPA, NMLVGETINFOTIPA),
...@@ -1475,7 +1475,7 @@ static const SPY_NOTIFY spnfy_array[] = { ...@@ -1475,7 +1475,7 @@ static const SPY_NOTIFY spnfy_array[] = {
SPNFY(LVN_ENDLABELEDITW, NMLVDISPINFOW), SPNFY(LVN_ENDLABELEDITW, NMLVDISPINFOW),
SPNFY(LVN_GETDISPINFOW, NMLVDISPINFOW), SPNFY(LVN_GETDISPINFOW, NMLVDISPINFOW),
SPNFY(LVN_SETDISPINFOW, NMLVDISPINFOW), SPNFY(LVN_SETDISPINFOW, NMLVDISPINFOW),
SPNFY(LVN_ODFINDITEMW, NMLVFINDITEM), SPNFY(LVN_ODFINDITEMW, NMLVFINDITEMW),
/* Header 0U-300U to 0U-399U */ /* Header 0U-300U to 0U-399U */
SPNFY(HDN_ITEMCHANGINGA, NMHDR), SPNFY(HDN_ITEMCHANGINGA, NMHDR),
SPNFY(HDN_ITEMCHANGEDA, 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