getTVChecked resolved...and other stuff

new topic     » topic index » view thread      » older message » newer message

All,

I figured out the problem with my routine to get a tree view item's 
checked state.  The correct code is as follows along with a routine to 
set a tree view item's check state and a routine to set a list view 
item's check state.  These can be copied right into win32lib.ew for any 
interested parties.

Derek, could we have these added to the standard win32lib?  Thanks!

-- Beg CJT01
--/topic ListView Control
--/proc setLVChecked( integer id, integer item, atom checked )
--/desc Sets the checked state for a /ListView Item
-- /i id is the win32lib id for the list view. /n
-- /i pRow is the listview item to check/uncheck. /n
-- /i checked is the checked/unchecked state (<>0=checked,0=unchecked). 
/n
global procedure setLVChecked( integer id, integer pRow, atom checked)
    atom LV_ITEM, state, mask

    mask = LVIF_STATE
    if checked then
        state = (2 * power(2, 12))
    else
        state = (1 * power(2, 12))
    end if

    LV_ITEM = struct_LVITEM( LVIF_STATE, pRow, 0, state, 
LVIS_STATEIMAGEMASK, 0, 0, 0 )

    VOID = sendMessage( id, LVM_SETITEM, pRow-1, LV_ITEM )

    release_mem(LV_ITEM)
end procedure
-- End CJT01

-- Beg CJT01
--/topic TreeView Control
--/proc getTVChecked( integer item )
--/desc Returns the checked state for a /TreeView Item
-- /i item is the integer returned from /addTVItem when the item was 
created. /n
-- If the item was checked it returns True, else returns False /n
global function getTVChecked( integer item )
    atom TV_ITEM, state, lFlags, mask

    mask = or_all({TVIF_HANDLE, TVIF_STATE})

    TV_ITEM = struct_TVITEM( mask, tvitem_handle[item], 0, 
TVIS_STATEIMAGEMASK, 0, 0, 0, 0, 0)

    VOID = sendMessage( tvitem_owner[item], TVM_GETITEM, 0, TV_ITEM )
    state = fetch( TV_ITEM, TVITEM_state )
    lFlags = (state / power(2,12))

    release_mem(TV_ITEM)

    return floor(lFlags - 1)

end function

--/topic TreeView Control
--/proc setTVChecked( integer item , atom checked)
--/desc Sets the checked state for a /TreeView Item
-- /i item is the integer returned from /addTVItem when the item was 
created. /n
-- /i checked is the checked/unchecked state (<>0=checked,0=unchecked). 
/n
global procedure setTVChecked( integer item, atom checked)
    atom TV_ITEM, state, lFlags, mask

    mask = or_all({TVIF_HANDLE, TVIF_STATE})
    if checked then
        state = (2 * power(2, 12))
    else
        state = (1 * power(2, 12))
    end if

    TV_ITEM = struct_TVITEM( mask, tvitem_handle[item], state, 
TVIS_STATEIMAGEMASK, 0, 0, 0, 0, 0)

    VOID = sendMessage( tvitem_owner[item], TVM_SETITEM, 0, TV_ITEM )

    release_mem(TV_ITEM)

end procedure

-- End CJT01

new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu