From: <ob...@us...> - 2012-02-23 16:26:30
|
Revision: 13213 http://jvcl.svn.sourceforge.net/jvcl/?rev=13213&view=rev Author: obones Date: 2012-02-23 16:26:19 +0000 (Thu, 23 Feb 2012) Log Message: ----------- Mantis 5629 : TVIS_CHECKED can be applied shifted in descendants so we take that into account Modified Paths: -------------- trunk/jvcl/run/JvComCtrls.pas Modified: trunk/jvcl/run/JvComCtrls.pas =================================================================== --- trunk/jvcl/run/JvComCtrls.pas 2012-02-23 12:47:24 UTC (rev 13212) +++ trunk/jvcl/run/JvComCtrls.pas 2012-02-23 16:26:19 UTC (rev 13213) @@ -2380,7 +2380,8 @@ mask := TVIF_STATE; hItem := ItemId; if TreeView_GetItem(Handle, Item) then - Result := ((Item.State and TVIS_CHECKED) = TVIS_CHECKED) + Result := (((Item.State and TVIS_STATEIMAGEMASK) or TVIS_CHECKED) = TVIS_CHECKED) or + (((Item.State and TVIS_STATEIMAGEMASK) or TVIS_CHECKED shl 1) = TVIS_CHECKED shl 1) else Result := False; end; @@ -2421,10 +2422,11 @@ hItem := ItemId; mask := TVIF_STATE; StateMask := TVIS_STATEIMAGEMASK; + TreeView_GetItem(Handle, Item); if Value then - Item.State := TVIS_CHECKED + Item.State := Item.State + TVIS_CHECKED else - Item.State := TVIS_CHECKED shr 1; + Item.State := Item.State - TVIS_CHECKED; TreeView_SetItem(Handle, Item); end; DoCheckedChange; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |