X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5d44b24ee63543390aa28e1eb4ff162da4264838..1b0b798d77b7b93b81d62162b290441bc9175e3e:/src/os2/textctrl.cpp diff --git a/src/os2/textctrl.cpp b/src/os2/textctrl.cpp index 32bc0f69d8..87c8150bac 100644 --- a/src/os2/textctrl.cpp +++ b/src/os2/textctrl.cpp @@ -154,14 +154,6 @@ bool wxTextCtrl::Create( if (m_windowStyle & wxTE_PASSWORD) // hidden input lSstyle |= ES_UNREADABLE; } - // - // If the parent is a scrolled window the controls must - // have this style or they will overlap the scrollbars - // - if (pParent) - if (pParent->IsKindOf(CLASSINFO(wxScrolledWindow)) || - pParent->IsKindOf(CLASSINFO(wxGenericScrolledWindow))) - lSstyle |= WS_CLIPSIBLINGS; if (m_bIsMLE) { @@ -208,16 +200,12 @@ bool wxTextCtrl::Create( // // Set font, position, size and initial value // - wxFont& vFontParent = pParent->GetFont(); - - if (vFontParent.Ok()) - { - SetFont(vFontParent); - } - else - { - SetFont(wxSystemSettings::GetSystemFont(wxSYS_SYSTEM_FONT)); - } + wxFont* pTextFont = new wxFont( 10 + ,wxMODERN + ,wxNORMAL + ,wxNORMAL + ); + SetFont(*pTextFont); if (!rsValue.IsEmpty()) { SetValue(rsValue); @@ -235,6 +223,7 @@ bool wxTextCtrl::Create( ,rSize.x ,rSize.y ); + delete pTextFont; return TRUE; } // end of wxTextCtrl::Create @@ -267,7 +256,7 @@ void wxTextCtrl::SetupColours() { wxColour vBkgndColour; - vBkgndColour = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_WINDOW); + vBkgndColour = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW); SetBackgroundColour(vBkgndColour); SetForegroundColour(GetParent()->GetForegroundColour()); if (m_bIsMLE) @@ -324,7 +313,10 @@ void wxTextCtrl::WriteText( const wxString& rsValue ) { - ::WinSetWindowText(GetHwnd(), rsValue.c_str()); + if (m_bIsMLE) + ::WinSendMsg(GetHwnd(), MLM_INSERT, MPARAM((PCHAR)rsValue.c_str()), MPARAM(0)); + else + ::WinSetWindowText(GetHwnd(), rsValue.c_str()); AdjustSpaceLimit(); } // end of wxTextCtrl::WriteText @@ -959,12 +951,19 @@ WXHBRUSH wxTextCtrl::OnCtlColor( else ::GpiSetBackMix(hPS, BM_OVERPAINT); if (!IsEnabled() && (GetWindowStyle() & wxTE_MULTILINE) == 0) - vColBack = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE); + vColBack = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE); ::GpiSetBackColor(hPS, vColBack.GetPixel()); ::GpiSetColor(hPS, vColFore.GetPixel()); return (WXHBRUSH)pBackgroundBrush->GetResourceHandle(); } // end of wxTextCtrl::OnCtlColor +bool wxTextCtrl::OS2ShouldPreProcessMessage( + WXMSG* pMsg +) +{ + return wxControl::OS2ShouldPreProcessMessage(pMsg); +} // end of wxTextCtrl::OS2ShouldPreProcessMessage + void wxTextCtrl::OnChar( wxKeyEvent& rEvent ) @@ -1128,7 +1127,7 @@ wxSize wxTextCtrl::DoGetBestSize() const if (m_windowStyle & wxTE_MULTILINE) { - hText *= wxMin(GetNumberOfLines(), 5); + hText *= wxMax(GetNumberOfLines(), 5); } //else: for single line control everything is ok return wxSize(wText, hText);