Fix wxListCtrl::EndEditLabel() which simply didn't work.

Also document it (even though it's wxMSW-only for now) and add a test for it
in the sample.

Closes #7663.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64368 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2010-05-20 22:04:03 +00:00
parent 212e8ef365
commit 747eb0f686
3 changed files with 38 additions and 15 deletions

View File

@@ -1561,14 +1561,10 @@ bool wxListCtrl::EndEditLabel(bool cancel)
if ( !hwnd )
return false;
if ( cancel )
::SetWindowText(hwnd, wxEmptyString); // dubious but better than nothing
// we shouldn't destroy the control ourselves according to MSDN, which
// proposes WM_CANCELMODE to do this, but it doesn't seem to work
//
// posting WM_CLOSE to it does seem to work without any side effects
::PostMessage(hwnd, WM_CLOSE, 0, 0);
// We shouldn't destroy the control ourselves according to MSDN, which
// proposes WM_CANCELMODE to do this, but it doesn't seem to work so
// emulate the corresponding user action instead.
::SendMessage(hwnd, WM_KEYDOWN, cancel ? VK_ESCAPE : VK_RETURN, 0);
return true;
}