comctl32: add ListView_SetCheckState and ListView_GetCheckState with tests(try5)

Nikolay Sivov bunglehead at gmail.com
Mon May 11 12:41:01 CDT 2009


André Hentschel wrote:
> now PSDK compatible
> ---
>  dlls/comctl32/listview.c       |    1 -
>  dlls/comctl32/tests/listview.c |    8 ++++++++
>  include/commctrl.h             |    6 ++++++
>  3 files changed, 14 insertions(+), 1 deletions(-)
Still wrong:

+#define ListView_SetCheckState(hwndLV, i, bCheck) \
+    { LVITEMA _LVi; _LVi.state = ((bCheck?2:1) << 12); _LVi.stateMask = LVIS_STATEIMAGEMASK;\
+    SNDMSG(hwndLV, LVM_SETITEMSTATE, (WPARAM)(UINT)(i), (LPARAM)(LPLVITEMA)&_LVi);}

'A' structure for both SNDMSG[A,W]. Try with neutral LVITEM.

+#define ListView_GetCheckState(hwndLV, i) \
+    ((((BOOL)(SNDMSGW((hwndLV), LVM_GETITEMSTATE, (i),  \
+    LVIS_STATEIMAGEMASK))) >> 12) -1)

Always W version used. Why?




More information about the wine-devel mailing list