From 4a82116e2ee3060ecdb8a451403280f54be93372 Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Sat, 31 Jul 2004 15:43:20 +0000 Subject: [PATCH] Fixed wxTextCtrl::SetMaxLength for rich edit controls git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28565 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/changes.txt | 2 ++ docs/latex/wx/text.tex | 2 +- src/msw/textctrl.cpp | 15 +++++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/docs/changes.txt b/docs/changes.txt index 6f07c51e25..fd457f9746 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -257,6 +257,7 @@ wxMSW: - support for alpha channel in toolbar bitmaps (Jurgen Doornik) - wxFileDialog can now be moved and centered (Randall Fox) - restored (and improved) possibility to use wx with MFC broken in 2.5.2 +- fixed wxTextCtrl::SetMaxLength for rich edit controls wxUniv/X11: @@ -265,6 +266,7 @@ wxUniv/X11: wxWinCE: - added automatized but customizable handling of native SmartPhone menus +- fixed wxRadioBox and wxStaticBox wxHTML: diff --git a/docs/latex/wx/text.tex b/docs/latex/wx/text.tex index 93129cdabc..7cc6e898e2 100644 --- a/docs/latex/wx/text.tex +++ b/docs/latex/wx/text.tex @@ -1116,7 +1116,7 @@ already is filled up to the maximal length, a (giving it the possibility to show an explanatory message, for example) and the extra input is discarded. -Note that this function may only be used with single line text controls. +Note that under GTK+, this function may only be used with single line text controls. \wxheading{Compatibility} diff --git a/src/msw/textctrl.cpp b/src/msw/textctrl.cpp index e742baa4b0..00ff8362af 100644 --- a/src/msw/textctrl.cpp +++ b/src/msw/textctrl.cpp @@ -1532,6 +1532,11 @@ wxString wxTextCtrl::GetLineText(long lineNo) const void wxTextCtrl::SetMaxLength(unsigned long len) { +#if wxUSE_RICHEDIT + if (IsRich()) + ::SendMessage(GetHwnd(), EM_EXLIMITTEXT, 0, (LPARAM) (DWORD) len); + else +#endif ::SendMessage(GetHwnd(), EM_LIMITTEXT, len, 0); } @@ -1551,6 +1556,11 @@ void wxTextCtrl::Redo() { if (CanRedo()) { +#if wxUSE_RICHEDIT + if (GetRichVersion() > 1) + ::SendMessage(GetHwnd(), EM_REDO, 0, 0); + else +#endif // Same as Undo, since Undo undoes the undo, i.e. a redo. ::SendMessage(GetHwnd(), EM_UNDO, 0, 0); } @@ -1563,6 +1573,11 @@ bool wxTextCtrl::CanUndo() const bool wxTextCtrl::CanRedo() const { +#if wxUSE_RICHEDIT + if (GetRichVersion() > 1) + return ::SendMessage(GetHwnd(), EM_CANREDO, 0, 0) != 0; + else +#endif return ::SendMessage(GetHwnd(), EM_CANUNDO, 0, 0) != 0; } -- 2.45.2