While trieng to get the hh program to work under wine I found that when I tryed to expand the Treeview control only the + become a minus (-) and nothing else happened. Taking a closer look at some +message traces I found the following differences between the messages coming from the native comctrl and the builtin one: Both were sending the WM_LBUTTONDOWN message to their parents which is a Tab control. The native common controlls was forweding this message to its parent and then the parent was adding the other items bellow it but the builtin one was simply calling DefWindowProcA and as a result the items werent getting added to the Treeview. After replacing this statement with SendMessageA(GetParent(hwnd), uMsg, wParam, lParam) the Treeview control works properly. Changelog: * dlls/comctrl/tab.c Pass on all unhandeled messages to the owner. nog
Index: tab.c =================================================================== RCS file: /home/wine/wine/dlls/comctl32/tab.c,v retrieving revision 1.62 diff -u -r1.62 tab.c --- tab.c 2001/11/06 21:01:33 1.62 +++ tab.c 2001/12/17 16:27:45 @@ -2977,7 +2977,7 @@ if (uMsg >= WM_USER) WARN("unknown msg %04x wp=%08x lp=%08lx\n", uMsg, wParam, lParam); - return DefWindowProcA (hwnd, uMsg, wParam, lParam); + return SendMessageA(GetParent(hwnd), uMsg, wParam, lParam); } return 0;