comctl32: add ListView_SetCheckState and ListView_GetCheckState with tests(try5)

André Hentschel nerv at dawncrow.de
Mon May 11 13:24:36 CDT 2009


Nikolay Sivov schrieb:
> 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.
my orientation was ListView_SetItemState with:

#define ListView_SetItemState(hwnd,i,data,dataMask) \
{ LVITEMA _LVi; _LVi.state = data; _LVi.stateMask = dataMask;\
 SNDMSG(hwnd, LVM_SETITEMSTATE, (WPARAM)(UINT)i, (LPARAM) 
(LPLVITEMA)&_LVi);}

>
> +#define ListView_GetCheckState(hwndLV, i) \
> +    ((((BOOL)(SNDMSGW((hwndLV), LVM_GETITEMSTATE, (i),  \
> +    LVIS_STATEIMAGEMASK))) >> 12) -1)
>
> Always W version used. Why?
>
forgotten, sry.
i hope i made everything right in try6




More information about the wine-devel mailing list