Use white background by default for multiline readonly wxTextCtrl under MSW.
The best default behaviour seems to be to use white background for multiline text controls even when they're read-only, as in previous wx versions. Also see #11521 which could be implemented to make this configurable. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62804 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
b7421ab625
commit
d2356abe70
@ -1031,7 +1031,7 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h )
|
||||
#if wxUSE_LOG
|
||||
m_log = new wxTextCtrl( this, wxID_ANY, wxT("This is the log window.\n"),
|
||||
wxPoint(5,260), wxSize(630,100),
|
||||
wxTE_MULTILINE | wxTE_READONLY | wxTE_RICH);
|
||||
wxTE_MULTILINE | wxTE_READONLY);
|
||||
|
||||
m_logOld = wxLog::SetActiveTarget( new wxLogTextCtrl( m_log ) );
|
||||
#endif // wxUSE_LOG
|
||||
|
@ -544,7 +544,20 @@ bool wxTextCtrl::MSWCreateText(const wxString& value,
|
||||
|
||||
::SendMessage(GetHwnd(), EM_SETEVENTMASK, 0, mask);
|
||||
}
|
||||
else
|
||||
#endif // wxUSE_RICHEDIT
|
||||
if ( HasFlag(wxTE_MULTILINE) && HasFlag(wxTE_READONLY) )
|
||||
{
|
||||
// non-rich read-only multiline controls have grey background by
|
||||
// default under MSW but this is not always appropriate, so forcefully
|
||||
// reset the background colour to normal default
|
||||
//
|
||||
// this is not ideal but, after a long discussion on wx-dev (see
|
||||
// http://thread.gmane.org/gmane.comp.lib.wxwidgets.devel/116360/) it
|
||||
// was finally deemed to be the best behaviour by default (and ideally
|
||||
// we'd have a way to change this, see #11521)
|
||||
SetBackgroundColour(GetClassDefaultAttributes().colBg);
|
||||
}
|
||||
|
||||
#ifndef __WXWINCE__
|
||||
// Without this, if we pass the size in the constructor and then don't change it,
|
||||
|
Loading…
Reference in New Issue
Block a user