X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b65f16dabd945d95f98809fb78c8d60a08930ac4..0bbe61b8c18a1795189f0cf73cc61c14a0fb846d:/src/msw/combobox.cpp diff --git a/src/msw/combobox.cpp b/src/msw/combobox.cpp index 836db69131..9d8e4a542d 100644 --- a/src/msw/combobox.cpp +++ b/src/msw/combobox.cpp @@ -394,9 +394,13 @@ bool wxComboBox::MSWShouldPreProcessMessage(WXMSG *pMsg) WXHWND wxComboBox::GetEditHWNDIfAvailable() const { - // we assume that the only child of the combobox is the edit window so it's - // unnecessary to pass "EDIT" as class name parameter - return (WXHWND)::FindWindowEx(GetHwnd(), NULL, NULL, NULL); + // notice that a slightly safer alternative could be to use FindWindowEx() + // but it's not available under WinCE so just take the first child for now + // to keep one version of the code for all platforms and fix it later if + // problems are discovered + + // we assume that the only child of the combobox is the edit window + return (WXHWND)::GetWindow(GetHwnd(), GW_CHILD); } WXHWND wxComboBox::GetEditHWND() const @@ -577,15 +581,12 @@ void wxComboBox::OnRedo(wxCommandEvent& WXUNUSED(event)) void wxComboBox::OnDelete(wxCommandEvent& WXUNUSED(event)) { - long from, to; - GetSelection(& from, & to); - if (from != -1 && to != -1) - Remove(from, to); + RemoveSelection(); } void wxComboBox::OnSelectAll(wxCommandEvent& WXUNUSED(event)) { - SetSelection(-1, -1); + SelectAll(); } void wxComboBox::OnUpdateCut(wxUpdateUIEvent& event) @@ -620,7 +621,7 @@ void wxComboBox::OnUpdateDelete(wxUpdateUIEvent& event) void wxComboBox::OnUpdateSelectAll(wxUpdateUIEvent& event) { - event.Enable(IsEditable() && GetLastPosition() > 0); + event.Enable(IsEditable() && !wxTextEntry::IsEmpty()); } #if wxUSE_TOOLTIPS