diff --git a/Makefile.in b/Makefile.in
index 73bc043727..131adf1318 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -2129,6 +2129,7 @@ STCDLL_OBJECTS = \
stcdll_stc.o \
stcdll_PlatWX.o \
stcdll_ScintillaWX.o \
+ stcdll_xh_styledtextctrl.o \
$(__STC_PLATFORM_SRC_OBJECTS_2)
STCDLL_ODEP = $(_____pch_wxprec_stcdll_wx_wxprec_h_gch___depname)
STCLIB_CXXFLAGS = $(__stclib_PCH_INC) $(__INC_TIFF_BUILD_p) $(__INC_TIFF_p) \
@@ -2153,6 +2154,7 @@ STCLIB_OBJECTS = \
stclib_stc.o \
stclib_PlatWX.o \
stclib_ScintillaWX.o \
+ stclib_xh_styledtextctrl.o \
$(__STC_PLATFORM_SRC_OBJECTS_3)
STCLIB_ODEP = $(_____pch_wxprec_stclib_wx_wxprec_h_gch___depname)
GLDLL_CXXFLAGS = $(__gldll_PCH_INC) $(__INC_TIFF_BUILD_p) $(__INC_TIFF_p) \
@@ -4199,6 +4201,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS = \
wx/richtext/richtextxml.h \
wx/xrc/xh_richtext.h \
wx/stc/stc.h \
+ wx/xrc/xh_styledtextctrl.h \
$(WEBVIEW_HDR_PLATFORM) \
wx/webview.h \
wx/webviewarchivehandler.h \
@@ -6245,6 +6248,7 @@ COND_USE_STC_1___MONOLIB_STC_SRC_OBJECTS = \
monodll_stc.o \
monodll_PlatWX.o \
monodll_ScintillaWX.o \
+ monodll_xh_styledtextctrl.o \
$(__STC_PLATFORM_SRC_OBJECTS)
@COND_USE_STC_1@__MONOLIB_STC_SRC_OBJECTS = $(COND_USE_STC_1___MONOLIB_STC_SRC_OBJECTS)
@COND_TOOLKIT_OSX_COCOA@__STC_PLATFORM_SRC_OBJECTS = monodll_PlatWXcocoa.o
@@ -8241,6 +8245,7 @@ COND_USE_STC_1___MONOLIB_STC_SRC_OBJECTS_1 = \
monolib_stc.o \
monolib_PlatWX.o \
monolib_ScintillaWX.o \
+ monolib_xh_styledtextctrl.o \
$(__STC_PLATFORM_SRC_OBJECTS_1)
@COND_USE_STC_1@__MONOLIB_STC_SRC_OBJECTS_1 = $(COND_USE_STC_1___MONOLIB_STC_SRC_OBJECTS_1)
@COND_TOOLKIT_OSX_COCOA@__STC_PLATFORM_SRC_OBJECTS_1 \
@@ -17714,6 +17719,9 @@ monodll_PlatWX.o: $(srcdir)/src/stc/PlatWX.cpp $(MONODLL_ODEP)
monodll_ScintillaWX.o: $(srcdir)/src/stc/ScintillaWX.cpp $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/stc/ScintillaWX.cpp
+monodll_xh_styledtextctrl.o: $(srcdir)/src/xrc/xh_styledtextctrl.cpp $(MONODLL_ODEP)
+ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_styledtextctrl.cpp
+
monodll_PlatWXcocoa.o: $(srcdir)/src/stc/PlatWXcocoa.mm $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/stc/PlatWXcocoa.mm
@@ -23003,6 +23011,9 @@ monolib_PlatWX.o: $(srcdir)/src/stc/PlatWX.cpp $(MONOLIB_ODEP)
monolib_ScintillaWX.o: $(srcdir)/src/stc/ScintillaWX.cpp $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/stc/ScintillaWX.cpp
+monolib_xh_styledtextctrl.o: $(srcdir)/src/xrc/xh_styledtextctrl.cpp $(MONOLIB_ODEP)
+ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_styledtextctrl.cpp
+
monolib_PlatWXcocoa.o: $(srcdir)/src/stc/PlatWXcocoa.mm $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/stc/PlatWXcocoa.mm
@@ -36992,6 +37003,9 @@ stcdll_PlatWX.o: $(srcdir)/src/stc/PlatWX.cpp $(STCDLL_ODEP)
stcdll_ScintillaWX.o: $(srcdir)/src/stc/ScintillaWX.cpp $(STCDLL_ODEP)
$(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/src/stc/ScintillaWX.cpp
+stcdll_xh_styledtextctrl.o: $(srcdir)/src/xrc/xh_styledtextctrl.cpp $(STCDLL_ODEP)
+ $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_styledtextctrl.cpp
+
stcdll_PlatWXcocoa.o: $(srcdir)/src/stc/PlatWXcocoa.mm $(STCDLL_ODEP)
$(CXXC) -c -o $@ $(STCDLL_OBJCXXFLAGS) $(srcdir)/src/stc/PlatWXcocoa.mm
@@ -37004,6 +37018,9 @@ stclib_PlatWX.o: $(srcdir)/src/stc/PlatWX.cpp $(STCLIB_ODEP)
stclib_ScintillaWX.o: $(srcdir)/src/stc/ScintillaWX.cpp $(STCLIB_ODEP)
$(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/src/stc/ScintillaWX.cpp
+stclib_xh_styledtextctrl.o: $(srcdir)/src/xrc/xh_styledtextctrl.cpp $(STCLIB_ODEP)
+ $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_styledtextctrl.cpp
+
stclib_PlatWXcocoa.o: $(srcdir)/src/stc/PlatWXcocoa.mm $(STCLIB_ODEP)
$(CXXC) -c -o $@ $(STCLIB_OBJCXXFLAGS) $(srcdir)/src/stc/PlatWXcocoa.mm
diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl
index 20f690cf12..07dc81feaf 100644
--- a/build/bakefiles/files.bkl
+++ b/build/bakefiles/files.bkl
@@ -3441,10 +3441,12 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
src/stc/stc.cpp
src/stc/PlatWX.cpp
src/stc/ScintillaWX.cpp
+ src/xrc/xh_styledtextctrl.cpp
wx/stc/stc.h
+ wx/xrc/xh_styledtextctrl.h
diff --git a/build/cmake/files.cmake b/build/cmake/files.cmake
index 8e5bee9963..303cc22a0d 100644
--- a/build/cmake/files.cmake
+++ b/build/cmake/files.cmake
@@ -3206,10 +3206,12 @@ set(STC_CMN_SRC
src/stc/stc.cpp
src/stc/PlatWX.cpp
src/stc/ScintillaWX.cpp
+ src/xrc/xh_styledtextctrl.cpp
)
set(STC_CMN_HDR
wx/stc/stc.h
+ wx/xrc/xh_styledtextctrl.h
)
set(STC_OSX_COCOA_SRC
diff --git a/build/files b/build/files
index 66277ee757..7b6c96225f 100644
--- a/build/files
+++ b/build/files
@@ -3138,9 +3138,11 @@ STC_CMN_SRC =
src/stc/stc.cpp
src/stc/PlatWX.cpp
src/stc/ScintillaWX.cpp
+ src/xrc/xh_styledtextctrl.cpp
STC_CMN_HDR =
wx/stc/stc.h
+ wx/xrc/xh_styledtextctrl.h
STC_OSX_COCOA_SRC =
src/stc/PlatWXcocoa.mm
diff --git a/build/msw/makefile.gcc b/build/msw/makefile.gcc
index fcb8ae9aa3..478e430068 100644
--- a/build/msw/makefile.gcc
+++ b/build/msw/makefile.gcc
@@ -1595,7 +1595,8 @@ STCDLL_OBJECTS = \
$(OBJS)\stcdll_version_rc.o \
$(OBJS)\stcdll_stc.o \
$(OBJS)\stcdll_PlatWX.o \
- $(OBJS)\stcdll_ScintillaWX.o
+ $(OBJS)\stcdll_ScintillaWX.o \
+ $(OBJS)\stcdll_xh_styledtextctrl.o
STCLIB_CXXFLAGS = -I..\..\src\tiff\libtiff -I..\..\src\jpeg -I..\..\src\png \
-I..\..\src\zlib -I..\..\3rdparty\pcre\src\wx -I..\..\src\expat\expat\lib \
$(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) -D__WXMSW__ \
@@ -1611,7 +1612,8 @@ STCLIB_OBJECTS = \
$(OBJS)\stclib_dummy.o \
$(OBJS)\stclib_stc.o \
$(OBJS)\stclib_PlatWX.o \
- $(OBJS)\stclib_ScintillaWX.o
+ $(OBJS)\stclib_ScintillaWX.o \
+ $(OBJS)\stclib_xh_styledtextctrl.o
GLDLL_CXXFLAGS = -I..\..\src\tiff\libtiff -I..\..\src\jpeg -I..\..\src\png \
-I..\..\src\zlib -I..\..\3rdparty\pcre\src\wx -I..\..\src\expat\expat\lib \
$(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) -D__WXMSW__ \
@@ -2538,7 +2540,8 @@ ifeq ($(USE_STC),1)
____MONOLIB_STC_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_stc.o \
$(OBJS)\monodll_PlatWX.o \
- $(OBJS)\monodll_ScintillaWX.o
+ $(OBJS)\monodll_ScintillaWX.o \
+ $(OBJS)\monodll_xh_styledtextctrl.o
endif
ifeq ($(USE_STC),1)
__wxscintilla_library_link_DEP = $(__wxscintilla)
@@ -3380,7 +3383,8 @@ ifeq ($(USE_STC),1)
____MONOLIB_STC_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_stc.o \
$(OBJS)\monolib_PlatWX.o \
- $(OBJS)\monolib_ScintillaWX.o
+ $(OBJS)\monolib_ScintillaWX.o \
+ $(OBJS)\monolib_xh_styledtextctrl.o
endif
ifeq ($(MONOLITHIC),0)
ifeq ($(SHARED),1)
@@ -8070,6 +8074,9 @@ $(OBJS)\monodll_PlatWX.o: ../../src/stc/PlatWX.cpp
$(OBJS)\monodll_ScintillaWX.o: ../../src/stc/ScintillaWX.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\monodll_xh_styledtextctrl.o: ../../src/xrc/xh_styledtextctrl.cpp
+ $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\monodll_xml.o: ../../src/xml/xml.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
@@ -10644,6 +10651,9 @@ $(OBJS)\monolib_PlatWX.o: ../../src/stc/PlatWX.cpp
$(OBJS)\monolib_ScintillaWX.o: ../../src/stc/ScintillaWX.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\monolib_xh_styledtextctrl.o: ../../src/xrc/xh_styledtextctrl.cpp
+ $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\monolib_xml.o: ../../src/xml/xml.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
@@ -17325,6 +17335,9 @@ $(OBJS)\stcdll_PlatWX.o: ../../src/stc/PlatWX.cpp
$(OBJS)\stcdll_ScintillaWX.o: ../../src/stc/ScintillaWX.cpp
$(CXX) -c -o $@ $(STCDLL_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\stcdll_xh_styledtextctrl.o: ../../src/xrc/xh_styledtextctrl.cpp
+ $(CXX) -c -o $@ $(STCDLL_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\stclib_dummy.o: ../../src/common/dummy.cpp
$(CXX) -c -o $@ $(STCLIB_CXXFLAGS) $(CPPDEPS) $<
@@ -17337,6 +17350,9 @@ $(OBJS)\stclib_PlatWX.o: ../../src/stc/PlatWX.cpp
$(OBJS)\stclib_ScintillaWX.o: ../../src/stc/ScintillaWX.cpp
$(CXX) -c -o $@ $(STCLIB_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\stclib_xh_styledtextctrl.o: ../../src/xrc/xh_styledtextctrl.cpp
+ $(CXX) -c -o $@ $(STCLIB_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\gldll_dummy.o: ../../src/common/dummy.cpp
$(CXX) -c -o $@ $(GLDLL_CXXFLAGS) $(CPPDEPS) $<
diff --git a/build/msw/makefile.vc b/build/msw/makefile.vc
index e8fd66a266..8f0b989f49 100644
--- a/build/msw/makefile.vc
+++ b/build/msw/makefile.vc
@@ -1791,7 +1791,8 @@ STCDLL_OBJECTS = \
$(OBJS)\stcdll_dummy.obj \
$(OBJS)\stcdll_stc.obj \
$(OBJS)\stcdll_PlatWX.obj \
- $(OBJS)\stcdll_ScintillaWX.obj
+ $(OBJS)\stcdll_ScintillaWX.obj \
+ $(OBJS)\stcdll_xh_styledtextctrl.obj
STCDLL_RESOURCES = \
$(OBJS)\stcdll_version.res
STCLIB_CXXFLAGS = /M$(__RUNTIME_LIBS_596)$(__DEBUGRUNTIME) /DWIN32 \
@@ -1813,7 +1814,8 @@ STCLIB_OBJECTS = \
$(OBJS)\stclib_dummy.obj \
$(OBJS)\stclib_stc.obj \
$(OBJS)\stclib_PlatWX.obj \
- $(OBJS)\stclib_ScintillaWX.obj
+ $(OBJS)\stclib_ScintillaWX.obj \
+ $(OBJS)\stclib_xh_styledtextctrl.obj
GLDLL_CXXFLAGS = /M$(__RUNTIME_LIBS_612)$(__DEBUGRUNTIME) /DWIN32 \
/I..\..\src\tiff\libtiff /I..\..\src\jpeg /I..\..\src\png /I..\..\src\zlib \
/I..\..\3rdparty\pcre\src\wx /I..\..\src\expat\expat\lib $(__DEBUGINFO) \
@@ -2865,7 +2867,8 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
____MONOLIB_STC_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_stc.obj \
$(OBJS)\monodll_PlatWX.obj \
- $(OBJS)\monodll_ScintillaWX.obj
+ $(OBJS)\monodll_ScintillaWX.obj \
+ $(OBJS)\monodll_xh_styledtextctrl.obj
!endif
!if "$(USE_STC)" == "1"
__wxscintilla_library_link_DEP = $(__wxscintilla)
@@ -3707,7 +3710,8 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
____MONOLIB_STC_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_stc.obj \
$(OBJS)\monolib_PlatWX.obj \
- $(OBJS)\monolib_ScintillaWX.obj
+ $(OBJS)\monolib_ScintillaWX.obj \
+ $(OBJS)\monolib_xh_styledtextctrl.obj
!endif
!if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "1"
__basedll___depname = \
@@ -8501,6 +8505,9 @@ $(OBJS)\monodll_PlatWX.obj: ..\..\src\stc\PlatWX.cpp
$(OBJS)\monodll_ScintillaWX.obj: ..\..\src\stc\ScintillaWX.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\stc\ScintillaWX.cpp
+$(OBJS)\monodll_xh_styledtextctrl.obj: ..\..\src\xrc\xh_styledtextctrl.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_styledtextctrl.cpp
+
$(OBJS)\monodll_xml.obj: ..\..\src\xml\xml.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xml\xml.cpp
@@ -11075,6 +11082,9 @@ $(OBJS)\monolib_PlatWX.obj: ..\..\src\stc\PlatWX.cpp
$(OBJS)\monolib_ScintillaWX.obj: ..\..\src\stc\ScintillaWX.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\stc\ScintillaWX.cpp
+$(OBJS)\monolib_xh_styledtextctrl.obj: ..\..\src\xrc\xh_styledtextctrl.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_styledtextctrl.cpp
+
$(OBJS)\monolib_xml.obj: ..\..\src\xml\xml.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xml\xml.cpp
@@ -17756,6 +17766,9 @@ $(OBJS)\stcdll_PlatWX.obj: ..\..\src\stc\PlatWX.cpp
$(OBJS)\stcdll_ScintillaWX.obj: ..\..\src\stc\ScintillaWX.cpp
$(CXX) /c /nologo /TP /Fo$@ $(STCDLL_CXXFLAGS) ..\..\src\stc\ScintillaWX.cpp
+$(OBJS)\stcdll_xh_styledtextctrl.obj: ..\..\src\xrc\xh_styledtextctrl.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(STCDLL_CXXFLAGS) ..\..\src\xrc\xh_styledtextctrl.cpp
+
$(OBJS)\stclib_dummy.obj: ..\..\src\common\dummy.cpp
$(CXX) /c /nologo /TP /Fo$@ $(STCLIB_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
@@ -17768,6 +17781,9 @@ $(OBJS)\stclib_PlatWX.obj: ..\..\src\stc\PlatWX.cpp
$(OBJS)\stclib_ScintillaWX.obj: ..\..\src\stc\ScintillaWX.cpp
$(CXX) /c /nologo /TP /Fo$@ $(STCLIB_CXXFLAGS) ..\..\src\stc\ScintillaWX.cpp
+$(OBJS)\stclib_xh_styledtextctrl.obj: ..\..\src\xrc\xh_styledtextctrl.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(STCLIB_CXXFLAGS) ..\..\src\xrc\xh_styledtextctrl.cpp
+
$(OBJS)\gldll_dummy.obj: ..\..\src\common\dummy.cpp
$(CXX) /c /nologo /TP /Fo$@ $(GLDLL_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
diff --git a/build/msw/wx_stc.vcxproj b/build/msw/wx_stc.vcxproj
index 1324539720..2c1a39adfe 100644
--- a/build/msw/wx_stc.vcxproj
+++ b/build/msw/wx_stc.vcxproj
@@ -459,6 +459,7 @@
+
@@ -469,6 +470,7 @@
+
true
true
diff --git a/build/msw/wx_stc.vcxproj.filters b/build/msw/wx_stc.vcxproj.filters
index 02b17b10f0..c1e005157b 100644
--- a/build/msw/wx_stc.vcxproj.filters
+++ b/build/msw/wx_stc.vcxproj.filters
@@ -34,6 +34,9 @@
Source Files
+
+ Source Files
+
@@ -44,6 +47,9 @@
Common Headers
+
+ Common Headers
+
diff --git a/build/msw/wx_vc8_core.vcproj b/build/msw/wx_vc8_core.vcproj
index 9e1cc432f5..09618dfcda 100644
--- a/build/msw/wx_vc8_core.vcproj
+++ b/build/msw/wx_vc8_core.vcproj
@@ -4640,6 +4640,10 @@
RelativePath="..\..\include\wx\xrc\xh_sttxt.h"
>
+
+
diff --git a/build/msw/wx_vc8_stc.vcproj b/build/msw/wx_vc8_stc.vcproj
index 54dd96af1d..ea3c2dcbac 100644
--- a/build/msw/wx_vc8_stc.vcproj
+++ b/build/msw/wx_vc8_stc.vcproj
@@ -1057,6 +1057,10 @@
RelativePath="..\..\include\wx\stc\stc.h"
>
+
+
+
+
diff --git a/build/msw/wx_vc9_core.vcproj b/build/msw/wx_vc9_core.vcproj
index 0fce999ed3..8beb7d2ef1 100644
--- a/build/msw/wx_vc9_core.vcproj
+++ b/build/msw/wx_vc9_core.vcproj
@@ -4636,6 +4636,10 @@
RelativePath="..\..\include\wx\xrc\xh_sttxt.h"
>
+
+
diff --git a/build/msw/wx_vc9_stc.vcproj b/build/msw/wx_vc9_stc.vcproj
index 686e743096..cecb7aff82 100644
--- a/build/msw/wx_vc9_stc.vcproj
+++ b/build/msw/wx_vc9_stc.vcproj
@@ -1053,6 +1053,10 @@
RelativePath="..\..\include\wx\stc\stc.h"
>
+
+
+
+
diff --git a/docs/doxygen/overviews/xrc_format.h b/docs/doxygen/overviews/xrc_format.h
index bf9d0d7417..015c8a182c 100644
--- a/docs/doxygen/overviews/xrc_format.h
+++ b/docs/doxygen/overviews/xrc_format.h
@@ -2110,6 +2110,26 @@ No additional properties.
wxStaticText::Wrap() (default: no wrap).}
@endTable
+@subsubsection xrc_wxstyledtextctrl wxStyledTextCtrl
+
+@beginTable
+@hdr3col{property, type, description}
+@row3col{wrapmode, @ref overview_xrcformat_type_style,
+ Set wrapmode to wxSTC_WRAP_WORD to enable wrapping on word or style boundaries,
+ wxSTC_WRAP_CHAR to enable wrapping between any characters, wxSTC_WRAP_WHITESPACE
+ to enable wrapping on whitespace, and wxSTC_WRAP_NONE to disable line wrapping
+ (default: wxSTC_WRAP_NONE).}
+@endTable
+
+Notice that wxStyledTextCtrl support in XRC is available in wxWidgets 3.1.6 and
+later only and you need to explicitly register its handler using
+@code
+ #include
+
+ AddHandler(new wxStyledTextCtrl);
+@endcode
+to use it.
+
@subsubsection xrc_wxtextctrl wxTextCtrl
@beginTable
diff --git a/include/wx/xrc/xh_styledtextctrl.h b/include/wx/xrc/xh_styledtextctrl.h
new file mode 100644
index 0000000000..fb78a357fa
--- /dev/null
+++ b/include/wx/xrc/xh_styledtextctrl.h
@@ -0,0 +1,29 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: wx/xrc/xh_styledtextctrl.h
+// Purpose: XML resource handler for wxStyledTextCtrl
+// Author: Alexander Koshelev
+// Created: 2021-09-22
+// Copyright: (c) 2021 TT-Solutions SARL
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_XH_STYLEDTEXTCTRL_H_
+#define _WX_XH_STYLEDTEXTCTRL_H_
+
+#include "wx/xrc/xmlres.h"
+
+#if wxUSE_XRC && wxUSE_STC
+
+class WXDLLIMPEXP_STC wxStyledTextCtrlXmlHandler : public wxXmlResourceHandler
+{
+ wxDECLARE_DYNAMIC_CLASS(wxStyledTextCtrlXmlHandler);
+
+public:
+ wxStyledTextCtrlXmlHandler();
+ virtual wxObject *DoCreateResource() wxOVERRIDE;
+ virtual bool CanHandle(wxXmlNode *node) wxOVERRIDE;
+};
+
+#endif // wxUSE_XRC && wxUSE_STC
+
+#endif // _WX_XH_STYLEDTEXTCTRL_H_
diff --git a/src/xrc/xh_styledtextctrl.cpp b/src/xrc/xh_styledtextctrl.cpp
new file mode 100644
index 0000000000..324e8fc9de
--- /dev/null
+++ b/src/xrc/xh_styledtextctrl.cpp
@@ -0,0 +1,57 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: src/xrc/xh_styledtextctrl.cpp
+// Purpose: XRC resource for wxStyledTextCtrl
+// Author: Alexander Koshelev
+// Created: 2021-09-22
+// Copyright: (c) 2021 TT-Solutions SARL
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+
+#if wxUSE_XRC && wxUSE_STC
+
+#include "wx/xrc/xh_styledtextctrl.h"
+#include "wx/stc/stc.h"
+
+wxIMPLEMENT_DYNAMIC_CLASS(wxStyledTextCtrlXmlHandler, wxXmlResourceHandler);
+
+wxStyledTextCtrlXmlHandler::wxStyledTextCtrlXmlHandler()
+{
+ XRC_ADD_STYLE(wxSTC_WRAP_NONE);
+ XRC_ADD_STYLE(wxSTC_WRAP_WORD);
+ XRC_ADD_STYLE(wxSTC_WRAP_CHAR);
+ XRC_ADD_STYLE(wxSTC_WRAP_WHITESPACE);
+
+ AddWindowStyles();
+}
+
+wxObject *wxStyledTextCtrlXmlHandler::DoCreateResource()
+{
+ XRC_MAKE_INSTANCE(control, wxStyledTextCtrl)
+
+ control->Create(m_parentAsWindow,
+ GetID(),
+ GetPosition(),
+ GetSize(),
+ GetStyle(),
+ GetName());
+
+ SetupWindow(control);
+
+ if (HasParam("wrapmode"))
+ {
+ control->SetWrapMode(GetStyle("wrapmode"));
+ }
+
+ return control;
+}
+
+bool wxStyledTextCtrlXmlHandler::CanHandle(wxXmlNode *node)
+{
+ return IsOfClass(node, "wxStyledTextCtrl");
+}
+
+#endif // wxUSE_XRC && wxUSE_STC