summaryrefslogtreecommitdiffstats
path: root/ui/views/controls/textfield/native_textfield_win.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ui/views/controls/textfield/native_textfield_win.cc')
-rw-r--r--ui/views/controls/textfield/native_textfield_win.cc18
1 files changed, 15 insertions, 3 deletions
diff --git a/ui/views/controls/textfield/native_textfield_win.cc b/ui/views/controls/textfield/native_textfield_win.cc
index 6baebf6..73cbf1e 100644
--- a/ui/views/controls/textfield/native_textfield_win.cc
+++ b/ui/views/controls/textfield/native_textfield_win.cc
@@ -84,7 +84,7 @@ NativeTextfieldWin::ScopedSuspendUndo::~ScopedSuspendUndo() {
///////////////////////////////////////////////////////////////////////////////
// NativeTextfieldWin
-bool NativeTextfieldWin::did_load_library_ = false;
+HMODULE NativeTextfieldWin::loaded_libarary_module_ = false;
NativeTextfieldWin::NativeTextfieldWin(Textfield* textfield)
: textfield_(textfield),
@@ -97,8 +97,11 @@ NativeTextfieldWin::NativeTextfieldWin(Textfield* textfield)
ime_composition_length_(0),
container_view_(new NativeViewHost),
bg_color_(0) {
- if (!did_load_library_)
- did_load_library_ = !!LoadLibrary(L"riched20.dll");
+ if (!loaded_libarary_module_) {
+ // msftedit.dll is RichEdit ver 4.1.
+ // This version is available from WinXP SP1 and has TSF support.
+ loaded_libarary_module_ = LoadLibrary(L"msftedit.dll");
+ }
DWORD style = kDefaultEditStyle | ES_AUTOHSCROLL;
if (textfield_->style() & Textfield::STYLE_OBSCURED)
@@ -565,6 +568,15 @@ void NativeTextfieldWin::OnCopy() {
}
}
+LRESULT NativeTextfieldWin::OnCreate(const CREATESTRUCTW* /*create_struct*/) {
+ if (base::win::IsTsfAwareRequired()) {
+ // Enable TSF support of RichEdit.
+ SetEditStyle(SES_USECTF, SES_USECTF);
+ }
+ SetMsgHandled(FALSE);
+ return 0;
+}
+
void NativeTextfieldWin::OnCut() {
if (textfield_->read_only() || textfield_->IsObscured())
return;