@@ -14067,9 +14067,11 @@ TreeViewWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
14067
14067
LRESULT CALLBACK
14068
14068
MMainWnd::TreeViewWndProcDx(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
14069
14069
{
14070
+ LRESULT ret;
14070
14071
switch (uMsg)
14071
14072
{
14072
- case WM_HSCROLL:
14073
+ case WM_SIZE: case WM_HSCROLL: case WM_VSCROLL:
14074
+ case WM_MOUSEWHEEL: case WM_KEYDOWN: case WM_CHAR:
14073
14075
if (IsWindow(m_arrow))
14074
14076
{
14075
14077
// hide language arrow
@@ -14081,38 +14083,22 @@ MMainWnd::TreeViewWndProcDx(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
14081
14083
TreeView_GetItemRect(hwnd, hItem, &rc, FALSE);
14082
14084
14083
14085
// default processing
14084
- CallWindowProc(s_fnTreeViewOldWndProc, hwnd, uMsg, wParam, lParam);
14086
+ ret = CallWindowProc(s_fnTreeViewOldWndProc, hwnd, uMsg, wParam, lParam);
14085
14087
14086
14088
// redraw the rect
14087
14089
InvalidateRect(hwnd, &rc, TRUE);
14088
14090
14089
14091
// restore language arrow
14090
14092
PostUpdateLangArrow(m_hwnd);
14091
- return 0;
14092
- }
14093
- break;
14094
- case WM_SIZE: case WM_VSCROLL: case WM_MOUSEWHEEL:
14095
- if (IsWindow(m_arrow))
14096
- {
14097
- // hide language arrow
14098
- ShowLangArrow(FALSE);
14099
14093
14100
- // default processing
14101
- CallWindowProc(s_fnTreeViewOldWndProc, hwnd, uMsg, wParam, lParam);
14102
-
14103
- // restore language arrow
14104
- PostUpdateLangArrow(m_hwnd);
14105
- return 0;
14094
+ return ret;
14106
14095
}
14107
14096
break;
14108
14097
case WM_SYSKEYDOWN:
14109
- if (wParam == VK_DOWN)
14098
+ if (wParam == VK_DOWN && IsWindow(m_arrow) )
14110
14099
{
14111
- if (IsWindow(m_arrow))
14112
- {
14113
- m_arrow.ShowDropDownList(m_arrow, TRUE);
14114
- return 0;
14115
- }
14100
+ m_arrow.ShowDropDownList(m_arrow, TRUE);
14101
+ return 0;
14116
14102
}
14117
14103
break;
14118
14104
}
0 commit comments