- if (style & ES_MULTILINE)
- m_windowStyle |= wxTE_MULTILINE;
- if (style & ES_PASSWORD)
- m_windowStyle |= wxTE_PASSWORD;
- if (style & ES_READONLY)
- m_windowStyle |= wxTE_READONLY;
- if (style & ES_WANTRETURN)
- m_windowStyle |= wxTE_PROCESS_ENTER;
+ if (style & ES_MULTILINE)
+ m_windowStyle |= wxTE_MULTILINE;
+ if (style & ES_PASSWORD)
+ m_windowStyle |= wxTE_PASSWORD;
+ if (style & ES_READONLY)
+ m_windowStyle |= wxTE_READONLY;
+ if (style & ES_WANTRETURN)
+ m_windowStyle |= wxTE_PROCESS_ENTER;
+}
+
+WXDWORD wxTextCtrl::MSWGetStyle(long style, WXDWORD *exstyle) const
+{
+ // default border for the text controls is the sunken one
+ if ( (style & wxBORDER_MASK) == wxBORDER_DEFAULT )
+ {
+ style |= wxBORDER_SUNKEN;
+ }
+
+ long msStyle = wxControl::MSWGetStyle(style, exstyle);
+
+ // default styles
+ msStyle |= ES_LEFT;
+
+ if ( style & wxTE_MULTILINE )
+ {
+ wxASSERT_MSG( !(style & wxTE_PROCESS_ENTER),
+ wxT("wxTE_PROCESS_ENTER style is ignored for multiline text controls (they always process it)") );
+
+ msStyle |= ES_MULTILINE | ES_WANTRETURN;
+ if ( !(style & wxTE_NO_VSCROLL) )
+ msStyle |= WS_VSCROLL;
+
+ style |= wxTE_PROCESS_ENTER;
+ }
+ else // !multiline
+ {
+ // there is really no reason to not have this style for single line
+ // text controls
+ msStyle |= ES_AUTOHSCROLL;
+ }
+
+ if ( style & wxHSCROLL )
+ msStyle |= WS_HSCROLL | ES_AUTOHSCROLL;
+
+ if ( style & wxTE_READONLY )
+ msStyle |= ES_READONLY;
+
+ if ( style & wxTE_PASSWORD )
+ msStyle |= ES_PASSWORD;
+
+ if ( style & wxTE_AUTO_SCROLL )
+ msStyle |= ES_AUTOHSCROLL;
+
+ if ( style & wxTE_NOHIDESEL )
+ msStyle |= ES_NOHIDESEL;
+
+ return msStyle;