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:
parent
3034199797
commit
ddab9f80c8
@ -676,7 +676,6 @@ bool wxTextCtrl::IsEditable() const
|
||||
|
||||
void wxTextCtrl::Replace(long from, long to, const wxString& value)
|
||||
{
|
||||
#if wxUSE_CLIPBOARD
|
||||
HWND hWnd = GetHwnd();
|
||||
long fromChar = from;
|
||||
long toChar = to;
|
||||
@ -684,21 +683,10 @@ void wxTextCtrl::Replace(long from, long to, const wxString& value)
|
||||
// Set selection and remove it
|
||||
#ifdef __WIN32__
|
||||
SendMessage(hWnd, EM_SETSEL, fromChar, toChar);
|
||||
SendMessage(hWnd, EM_REPLACESEL, (WPARAM)TRUE, (LPARAM)value.c_str());
|
||||
#else
|
||||
SendMessage(hWnd, EM_SETSEL, (WPARAM)0, (LPARAM)MAKELONG(fromChar, toChar));
|
||||
#endif
|
||||
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.");
|
||||
SendMessage(hWnd, EM_REPLACESEL, (WPARAM)0, (LPARAM)value.c_str());
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -711,10 +699,11 @@ void wxTextCtrl::Remove(long from, long to)
|
||||
// Cut all selected text
|
||||
#ifdef __WIN32__
|
||||
SendMessage(hWnd, EM_SETSEL, fromChar, toChar);
|
||||
SendMessage(hWnd, EM_REPLACESEL, (WPARAM)TRUE, (LPARAM)"");
|
||||
#else
|
||||
SendMessage(hWnd, EM_SETSEL, (WPARAM)0, (LPARAM)MAKELONG(fromChar, toChar));
|
||||
SendMessage(hWnd, EM_REPLACESEL, (WPARAM)0, (LPARAM)"");
|
||||
#endif
|
||||
SendMessage(hWnd, WM_CUT, (WPARAM)0, (LPARAM)0);
|
||||
}
|
||||
|
||||
void wxTextCtrl::SetSelection(long from, long to)
|
||||
|
Loading…
Reference in New Issue
Block a user