I have an UltraTree with its HotTracking property set to true. This works great when the mouse hovers over the tree, so I can see which node I'm over. I have another control that I need to be able to drag contents into this tree. When I do so, the hot tracking doesn't seem to fire. Do you have any suggestions to get the HotTracking appearance while I'm dragging over the UltraTree?
The other control has the mouse capture so UltraTree is not supposed to exhibit hot tracking effects. The 'UltraTree Drag and Drop' sample, which ships with the SDK, demonstrates how to use our IUIElementDrawFilter interface to draw a drop indicator. Alternatively, you could probably do something like the following: handle the DragOver event, hit test for the node at the cursor position using the GetNodeFromPoint method, and manually set/reset the UltraTreeNode.Override.NodeAppearance as the cursor passes over each node.
Thanks, Brian. I went with your 2nd suggestion using the DragOver event and hit test, which seems to be working as I want. It's not the same color effect as the HotTrackingNodeAppearance, but it's close (but that's only because I don't know what to set the colors to, in order to match a hot tracking appearance). Anyways, it's working great, and thanks for the advice.
Something else you might try...
There's a property on the UltraTree control called HotTrackingNode and it's settable. So you might be able to use that rather than just applying an Appearance and that way it behave exactly the same.