Allowed MSW wxTrextCtrl styling to also set the background colour,
added wxUSE_RICHEDIT2 so this can be disabled for compilers that don't have the right structures. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10407 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -682,9 +682,15 @@
|
|||||||
// Recommended setting: 1, only set it to 0 if your compiler doesn't have
|
// Recommended setting: 1, only set it to 0 if your compiler doesn't have
|
||||||
// or can't compile <richedit.h>
|
// or can't compile <richedit.h>
|
||||||
#if defined(__WIN95__) && !defined(__TWIN32__) && !defined(__GNUWIN32_OLD__)
|
#if defined(__WIN95__) && !defined(__TWIN32__) && !defined(__GNUWIN32_OLD__)
|
||||||
#define wxUSE_RICHEDIT 1
|
#define wxUSE_RICHEDIT 1
|
||||||
|
|
||||||
|
// TODO: This should be ifdef'ed for any compilers that don't support
|
||||||
|
// RichEdit 2.0 but do have RichEdit 1.0...
|
||||||
|
#define wxUSE_RICHEDIT2 1
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#define wxUSE_RICHEDIT 0
|
#define wxUSE_RICHEDIT 0
|
||||||
|
#define wxUSE_RICHEDIT2 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Set this to 1 to enable support for the owner-drawn menu and listboxes. This
|
// Set this to 1 to enable support for the owner-drawn menu and listboxes. This
|
||||||
|
@@ -1233,10 +1233,11 @@ bool wxTextCtrl::SetStyle(long start, long end, const wxTextAttr& style)
|
|||||||
|
|
||||||
// the rich text control doesn't handle setting background colour, so don't
|
// the rich text control doesn't handle setting background colour, so don't
|
||||||
// even try if it's the only thing we want to change
|
// even try if it's the only thing we want to change
|
||||||
if ( !style.HasFont() && !style.HasTextColour() )
|
if ( wxRichEditModule::GetLoadedVersion() < 2 &&
|
||||||
|
!style.HasFont() && !style.HasTextColour() )
|
||||||
{
|
{
|
||||||
// nothing to do: return TRUE if there was really nothing to doand
|
// nothing to do: return TRUE if there was really nothing to do and
|
||||||
// FALSE fi we failed to set bg colour
|
// FALSE if we failed to set bg colour
|
||||||
return !style.HasBackgroundColour();
|
return !style.HasBackgroundColour();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1260,7 +1261,11 @@ bool wxTextCtrl::SetStyle(long start, long end, const wxTextAttr& style)
|
|||||||
SendMessage(GetHwnd(), EM_SETSEL, (WPARAM) start, (LPARAM) end);
|
SendMessage(GetHwnd(), EM_SETSEL, (WPARAM) start, (LPARAM) end);
|
||||||
|
|
||||||
// initialize CHARFORMAT struct
|
// initialize CHARFORMAT struct
|
||||||
|
#if wxUSE_RICHEDIT2
|
||||||
|
CHARFORMAT2 cf;
|
||||||
|
#else
|
||||||
CHARFORMAT cf;
|
CHARFORMAT cf;
|
||||||
|
#endif
|
||||||
wxZeroMemory(cf);
|
wxZeroMemory(cf);
|
||||||
cf.cbSize = sizeof(cf);
|
cf.cbSize = sizeof(cf);
|
||||||
|
|
||||||
@@ -1307,6 +1312,13 @@ bool wxTextCtrl::SetStyle(long start, long end, const wxTextAttr& style)
|
|||||||
cf.crTextColor = wxColourToRGB(style.GetTextColour());
|
cf.crTextColor = wxColourToRGB(style.GetTextColour());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if wxUSE_RICHEDIT2
|
||||||
|
if ( wxRichEditModule::GetLoadedVersion() > 1 && style.HasBackgroundColour() )
|
||||||
|
{
|
||||||
|
cf.dwMask |= CFM_BACKCOLOR;
|
||||||
|
cf.crBackColor = wxColourToRGB(style.GetBackgroundColour());
|
||||||
|
}
|
||||||
|
#endif
|
||||||
// do format the selection
|
// do format the selection
|
||||||
bool ok = ::SendMessage(GetHwnd(), EM_SETCHARFORMAT,
|
bool ok = ::SendMessage(GetHwnd(), EM_SETCHARFORMAT,
|
||||||
SCF_SELECTION, (LPARAM)&cf) != 0;
|
SCF_SELECTION, (LPARAM)&cf) != 0;
|
||||||
|
Reference in New Issue
Block a user