comctl32/treeview: Handle EN_KILLFOCUS in WM_COMMAND handler.

This commit is contained in:
Nikolay Sivov 2009-08-06 13:43:18 +04:00 committed by Alexandre Julliard
parent 578e872b31
commit 861fb2eddd
2 changed files with 5 additions and 3 deletions

View File

@ -875,7 +875,7 @@ static void test_itemedit(void)
r = SendMessage(hTree, WM_COMMAND, MAKEWPARAM(0, EN_KILLFOCUS), (LPARAM)edit);
expect(0, r);
todo_wine ok(!IsWindow(edit), "Expected edit control to be destroyed\n");
ok(!IsWindow(edit), "Expected edit control to be destroyed\n");
DestroyWindow(hTree);
}

View File

@ -3637,6 +3637,9 @@ TREEVIEW_Command(TREEVIEW_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
ReleaseDC(infoPtr->hwnd, hdc);
break;
}
case EN_KILLFOCUS:
TREEVIEW_EndEditLabelNow(infoPtr, FALSE);
break;
default:
return SendMessageW(infoPtr->hwndNotify, WM_COMMAND, wParam, lParam);
@ -3757,8 +3760,7 @@ TREEVIEW_EndEditLabelNow(TREEVIEW_INFO *infoPtr, BOOL bCancel)
WCHAR *newText = tmpText;
int iLength = 0;
if (!infoPtr->hwndEdit)
return FALSE;
if (!IsWindow(infoPtr->hwndEdit)) return FALSE;
tvdi.hdr.hwndFrom = hwnd;
tvdi.hdr.idFrom = GetWindowLongPtrW(hwnd, GWLP_ID);