http://bugs.winehq.org/show_bug.cgi?id=13159
--- Comment #5 from Igor Tarasov tarasov.igor@gmail.com 2009-03-14 12:04:33 --- Way to reproduce it with treeview in control spy:
1. Run Tree View.exe. 2. Expand any item, for instance "Mercury" 3. Hover partly hidden item. 4. Native comctl would show you a tooltip. Builtin one won't.
Way to reproduce it with listview in control spy:
1. Run List View.exe 2. Set long text for some item so that it gets trimmed. For example:
MSG (LVM_SETITEMTEXT, 0, LVITEM(0,0,0,0/0/0,0,"blah blah blah blah blah blah blah",127,0,0,0))
3. Hover that item. 4. Native comctl would show you a tooltip. Builtin one won't.
One of the things that I've already found is that builtin comctl's listview and treeview controls do not issue TTM_RELAYEVENT on mouse-related messages. http://msdn.microsoft.com/en-us/library/bb760403(VS.85).aspx
Another thing is that native comctl creates tooltip for listview on listview creation, builtin does that only on request. This is being achieved with COMCTL32_CreateToolTip which creates empty tooltip with no tool. This makes all relayed events useless, since TOOLTIPS_RelayEvent calls TOOLTIPS_GetToolFromPoint which returns -1 for empty tooltips (with no tools).