- Make the ListView control Unicode ready.

- Support both ANSI & Unicode ListView notifications.
- Fixed a few bugs.
This commit is contained in:
Dimitrie O. Paun 2002-01-18 19:05:35 +00:00 committed by Alexandre Julliard
parent 97b8c5704e
commit 9e99d2b763
3 changed files with 1109 additions and 1528 deletions

File diff suppressed because it is too large Load Diff

View File

@ -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
#define PNM_CACHEHINT LPNMLVCACHEHINT #define PNM_CACHEHINT LPNMLVCACHEHINT
#define NM_CACHEHINT NMLVCACHEHINT #define NM_CACHEHINT NMLVCACHEHINT
typedef struct tagNMLVFINDITEM typedef struct tagNMLVFINDITEMA
{ {
NMHDR hdr; NMHDR hdr;
int iStart; int iStart;
LVFINDINFO lvfi; LVFINDINFOA lvfi;
} NMLVFINDITEM, *LPNMLVFINDITEM; } NMLVFINDITEMA, *LPNMLVFINDITEMA;
#define NM_FINDITEM NMLVFINDITEM typedef struct tagNMLVFINDITEMW
#define PNM_FINDITEM LPNMLVFINDITEM {
#define LPNM_FINDITEM LPNMLVFINDITEM NMHDR hdr;
int iStart;
LVFINDINFOW lvfi;
} NMLVFINDITEMW, *LPNMLVFINDITEMW;
#define NMFINDITEM WINELIB_NAME_AW(NMLVFINDITEM)
#define PNMFINDITEM LPNMLVFINDITEM
#define LPNMFINDITEM WINELIB_NAME_AW(LPNMLVFINDITEM)
typedef struct tagNMLVODSTATECHANGE 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) \

View File

@ -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[] = {
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),