Hmm, definitely odd behavior and I'll need to study it more in depth. As a temporary solution, this should override it by detecting the switch into partial when Autocheck = False, then advancing it to cleared. This won't work if ExclusionChecks = True.
In ShellTreeSubclassProc, go to the handler for TVM_ITEMCHANGEDW, change:
toCode:ElseIf ((nmtvic.uStateNew And TVIS_STATEIMAGEMASK) = &H3000) And (mAutocheck = False) Then DebugAppend "ItemExclude" TVEntries(nmtvic.lParam).Checked = False TVEntries(nmtvic.lParam).Excluded = True
Code:ElseIf ((nmtvic.uStateNew And TVIS_STATEIMAGEMASK) = &H3000) And (mAutocheck = False) Then DebugAppend "ItemExclude" If mExCheckboxes Then TVEntries(nmtvic.lParam).Checked = False TVEntries(nmtvic.lParam).Excluded = True Else SetTVItemStateImage nmtvic.hItem, tvcsEmpty End If




Reply With Quote
