getTVChecked resolved...and other stuff
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
|
Not Categorized, Please Help
|
|