changed Replace and Remove to always use EM_REPLACESEL instead of
going through the clipboard git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -676,7 +676,6 @@ bool wxTextCtrl::IsEditable() const
|
|||||||
|
|
||||||
void wxTextCtrl::Replace(long from, long to, const wxString& value)
|
void wxTextCtrl::Replace(long from, long to, const wxString& value)
|
||||||
{
|
{
|
||||||
#if wxUSE_CLIPBOARD
|
|
||||||
HWND hWnd = GetHwnd();
|
HWND hWnd = GetHwnd();
|
||||||
long fromChar = from;
|
long fromChar = from;
|
||||||
long toChar = to;
|
long toChar = to;
|
||||||
@@ -684,21 +683,10 @@ void wxTextCtrl::Replace(long from, long to, const wxString& value)
|
|||||||
// Set selection and remove it
|
// Set selection and remove it
|
||||||
#ifdef __WIN32__
|
#ifdef __WIN32__
|
||||||
SendMessage(hWnd, EM_SETSEL, fromChar, toChar);
|
SendMessage(hWnd, EM_SETSEL, fromChar, toChar);
|
||||||
|
SendMessage(hWnd, EM_REPLACESEL, (WPARAM)TRUE, (LPARAM)value.c_str());
|
||||||
#else
|
#else
|
||||||
SendMessage(hWnd, EM_SETSEL, (WPARAM)0, (LPARAM)MAKELONG(fromChar, toChar));
|
SendMessage(hWnd, EM_SETSEL, (WPARAM)0, (LPARAM)MAKELONG(fromChar, toChar));
|
||||||
#endif
|
SendMessage(hWnd, EM_REPLACESEL, (WPARAM)0, (LPARAM)value.c_str());
|
||||||
SendMessage(hWnd, WM_CUT, (WPARAM)0, (LPARAM)0);
|
|
||||||
|
|
||||||
// Now replace with 'value', by pasting.
|
|
||||||
if (wxOpenClipboard()) {
|
|
||||||
wxSetClipboardData(wxDF_TEXT, (wxObject *) (const wxChar *)value, 0, 0);
|
|
||||||
wxCloseClipboard();
|
|
||||||
|
|
||||||
// Paste into edit control
|
|
||||||
SendMessage(hWnd, WM_PASTE, (WPARAM)0, (LPARAM)0L);
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
wxFAIL_MSG("wxTextCtrl::Replace not implemented if wxUSE_CLIPBOARD is 0.");
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -711,10 +699,11 @@ void wxTextCtrl::Remove(long from, long to)
|
|||||||
// Cut all selected text
|
// Cut all selected text
|
||||||
#ifdef __WIN32__
|
#ifdef __WIN32__
|
||||||
SendMessage(hWnd, EM_SETSEL, fromChar, toChar);
|
SendMessage(hWnd, EM_SETSEL, fromChar, toChar);
|
||||||
|
SendMessage(hWnd, EM_REPLACESEL, (WPARAM)TRUE, (LPARAM)"");
|
||||||
#else
|
#else
|
||||||
SendMessage(hWnd, EM_SETSEL, (WPARAM)0, (LPARAM)MAKELONG(fromChar, toChar));
|
SendMessage(hWnd, EM_SETSEL, (WPARAM)0, (LPARAM)MAKELONG(fromChar, toChar));
|
||||||
|
SendMessage(hWnd, EM_REPLACESEL, (WPARAM)0, (LPARAM)"");
|
||||||
#endif
|
#endif
|
||||||
SendMessage(hWnd, WM_CUT, (WPARAM)0, (LPARAM)0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxTextCtrl::SetSelection(long from, long to)
|
void wxTextCtrl::SetSelection(long from, long to)
|
||||||
|
Reference in New Issue
Block a user