From adcda299c06800fedaf2436bcf4c8759905a4502 Mon Sep 17 00:00:00 2001
From: Vadim Zeitlin <vadim@wxwidgets.org>
Date: Thu, 4 Jun 2009 23:41:51 +0000
Subject: [PATCH] added wxEditbaleListBox XRC handler

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60899 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 Makefile.in                  |  74 +++++++++++++--------
 build/bakefiles/files.bkl    |   6 +-
 build/msw/makefile.bcc       |  72 +++++++++++++--------
 build/msw/makefile.gcc       |  64 +++++++++++-------
 build/msw/makefile.vc        |  72 +++++++++++++--------
 build/msw/makefile.wat       |  64 +++++++++++-------
 build/msw/wx_core.dsp        |   8 +++
 build/msw/wx_vc7_core.vcproj |   6 ++
 build/msw/wx_vc7_xrc.vcproj  |   6 ++
 build/msw/wx_vc8_core.vcproj |   8 +++
 build/msw/wx_vc8_xrc.vcproj  |   8 +++
 build/msw/wx_vc9_core.vcproj |   8 +++
 build/msw/wx_vc9_xrc.vcproj  |   8 +++
 build/msw/wx_xrc.dsp         |   8 +++
 docs/changes.txt             |   1 +
 include/wx/xrc/xh_all.h      |   1 +
 include/wx/xrc/xh_editlbox.h |  40 ++++++++++++
 src/xrc/xh_editlbox.cpp      | 122 +++++++++++++++++++++++++++++++++++
 src/xrc/xmlrsall.cpp         |   3 +
 19 files changed, 445 insertions(+), 134 deletions(-)
 create mode 100644 include/wx/xrc/xh_editlbox.h
 create mode 100644 src/xrc/xh_editlbox.cpp

diff --git a/Makefile.in b/Makefile.in
index b95bd0f84d..f551d2e959 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1582,10 +1582,10 @@ XRCDLL_OBJECTS =  \
 	xrcdll_xh_datectrl.o \
 	xrcdll_xh_dirpicker.o \
 	xrcdll_xh_dlg.o \
-	xrcdll_xh_frame.o \
-	xrcdll_xh_mdi.o \
+	xrcdll_xh_editlbox.o \
 	xrcdll_xh_filepicker.o \
 	xrcdll_xh_fontpicker.o \
+	xrcdll_xh_frame.o \
 	xrcdll_xh_gauge.o \
 	xrcdll_xh_gdctl.o \
 	xrcdll_xh_grid.o \
@@ -1594,6 +1594,7 @@ XRCDLL_OBJECTS =  \
 	xrcdll_xh_listb.o \
 	xrcdll_xh_listbk.o \
 	xrcdll_xh_listc.o \
+	xrcdll_xh_mdi.o \
 	xrcdll_xh_menu.o \
 	xrcdll_xh_notbk.o \
 	xrcdll_xh_odcombo.o \
@@ -1648,10 +1649,10 @@ XRCLIB_OBJECTS =  \
 	xrclib_xh_datectrl.o \
 	xrclib_xh_dirpicker.o \
 	xrclib_xh_dlg.o \
-	xrclib_xh_frame.o \
-	xrclib_xh_mdi.o \
+	xrclib_xh_editlbox.o \
 	xrclib_xh_filepicker.o \
 	xrclib_xh_fontpicker.o \
+	xrclib_xh_frame.o \
 	xrclib_xh_gauge.o \
 	xrclib_xh_gdctl.o \
 	xrclib_xh_grid.o \
@@ -1660,6 +1661,7 @@ XRCLIB_OBJECTS =  \
 	xrclib_xh_listb.o \
 	xrclib_xh_listbk.o \
 	xrclib_xh_listc.o \
+	xrclib_xh_mdi.o \
 	xrclib_xh_menu.o \
 	xrclib_xh_notbk.o \
 	xrclib_xh_odcombo.o \
@@ -3568,6 +3570,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS =  \
 	wx/textctrl.h \
 	wx/textdlg.h \
 	wx/textentry.h \
+	wx/textwrapper.h \
 	wx/toolbar.h \
 	wx/validate.h \
 	wx/valtext.h \
@@ -3723,6 +3726,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS =  \
 	wx/xrc/xh_datectrl.h \
 	wx/xrc/xh_dirpicker.h \
 	wx/xrc/xh_dlg.h \
+	wx/xrc/xh_editlbox.h \
 	wx/xrc/xh_filepicker.h \
 	wx/xrc/xh_fontpicker.h \
 	wx/xrc/xh_frame.h \
@@ -3980,10 +3984,10 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS =  \
 	monodll_xh_datectrl.o \
 	monodll_xh_dirpicker.o \
 	monodll_xh_dlg.o \
-	monodll_xh_frame.o \
-	monodll_xh_mdi.o \
+	monodll_xh_editlbox.o \
 	monodll_xh_filepicker.o \
 	monodll_xh_fontpicker.o \
+	monodll_xh_frame.o \
 	monodll_xh_gauge.o \
 	monodll_xh_gdctl.o \
 	monodll_xh_grid.o \
@@ -3992,6 +3996,7 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS =  \
 	monodll_xh_listb.o \
 	monodll_xh_listbk.o \
 	monodll_xh_listc.o \
+	monodll_xh_mdi.o \
 	monodll_xh_menu.o \
 	monodll_xh_notbk.o \
 	monodll_xh_odcombo.o \
@@ -5776,10 +5781,10 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS_1 =  \
 	monolib_xh_datectrl.o \
 	monolib_xh_dirpicker.o \
 	monolib_xh_dlg.o \
-	monolib_xh_frame.o \
-	monolib_xh_mdi.o \
+	monolib_xh_editlbox.o \
 	monolib_xh_filepicker.o \
 	monolib_xh_fontpicker.o \
+	monolib_xh_frame.o \
 	monolib_xh_gauge.o \
 	monolib_xh_gdctl.o \
 	monolib_xh_grid.o \
@@ -5788,6 +5793,7 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS_1 =  \
 	monolib_xh_listb.o \
 	monolib_xh_listbk.o \
 	monolib_xh_listc.o \
+	monolib_xh_mdi.o \
 	monolib_xh_menu.o \
 	monolib_xh_notbk.o \
 	monolib_xh_odcombo.o \
@@ -15760,11 +15766,8 @@ monodll_xh_dirpicker.o: $(srcdir)/src/xrc/xh_dirpicker.cpp $(MONODLL_ODEP)
 monodll_xh_dlg.o: $(srcdir)/src/xrc/xh_dlg.cpp $(MONODLL_ODEP)
 	$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_dlg.cpp
 
-monodll_xh_frame.o: $(srcdir)/src/xrc/xh_frame.cpp $(MONODLL_ODEP)
-	$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_frame.cpp
-
-monodll_xh_mdi.o: $(srcdir)/src/xrc/xh_mdi.cpp $(MONODLL_ODEP)
-	$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_mdi.cpp
+monodll_xh_editlbox.o: $(srcdir)/src/xrc/xh_editlbox.cpp $(MONODLL_ODEP)
+	$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_editlbox.cpp
 
 monodll_xh_filepicker.o: $(srcdir)/src/xrc/xh_filepicker.cpp $(MONODLL_ODEP)
 	$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_filepicker.cpp
@@ -15772,6 +15775,9 @@ monodll_xh_filepicker.o: $(srcdir)/src/xrc/xh_filepicker.cpp $(MONODLL_ODEP)
 monodll_xh_fontpicker.o: $(srcdir)/src/xrc/xh_fontpicker.cpp $(MONODLL_ODEP)
 	$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_fontpicker.cpp
 
+monodll_xh_frame.o: $(srcdir)/src/xrc/xh_frame.cpp $(MONODLL_ODEP)
+	$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_frame.cpp
+
 monodll_xh_gauge.o: $(srcdir)/src/xrc/xh_gauge.cpp $(MONODLL_ODEP)
 	$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_gauge.cpp
 
@@ -15796,6 +15802,9 @@ monodll_xh_listbk.o: $(srcdir)/src/xrc/xh_listbk.cpp $(MONODLL_ODEP)
 monodll_xh_listc.o: $(srcdir)/src/xrc/xh_listc.cpp $(MONODLL_ODEP)
 	$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_listc.cpp
 
+monodll_xh_mdi.o: $(srcdir)/src/xrc/xh_mdi.cpp $(MONODLL_ODEP)
+	$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_mdi.cpp
+
 monodll_xh_menu.o: $(srcdir)/src/xrc/xh_menu.cpp $(MONODLL_ODEP)
 	$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_menu.cpp
 
@@ -20476,11 +20485,8 @@ monolib_xh_dirpicker.o: $(srcdir)/src/xrc/xh_dirpicker.cpp $(MONOLIB_ODEP)
 monolib_xh_dlg.o: $(srcdir)/src/xrc/xh_dlg.cpp $(MONOLIB_ODEP)
 	$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_dlg.cpp
 
-monolib_xh_frame.o: $(srcdir)/src/xrc/xh_frame.cpp $(MONOLIB_ODEP)
-	$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_frame.cpp
-
-monolib_xh_mdi.o: $(srcdir)/src/xrc/xh_mdi.cpp $(MONOLIB_ODEP)
-	$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_mdi.cpp
+monolib_xh_editlbox.o: $(srcdir)/src/xrc/xh_editlbox.cpp $(MONOLIB_ODEP)
+	$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_editlbox.cpp
 
 monolib_xh_filepicker.o: $(srcdir)/src/xrc/xh_filepicker.cpp $(MONOLIB_ODEP)
 	$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_filepicker.cpp
@@ -20488,6 +20494,9 @@ monolib_xh_filepicker.o: $(srcdir)/src/xrc/xh_filepicker.cpp $(MONOLIB_ODEP)
 monolib_xh_fontpicker.o: $(srcdir)/src/xrc/xh_fontpicker.cpp $(MONOLIB_ODEP)
 	$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_fontpicker.cpp
 
+monolib_xh_frame.o: $(srcdir)/src/xrc/xh_frame.cpp $(MONOLIB_ODEP)
+	$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_frame.cpp
+
 monolib_xh_gauge.o: $(srcdir)/src/xrc/xh_gauge.cpp $(MONOLIB_ODEP)
 	$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_gauge.cpp
 
@@ -20512,6 +20521,9 @@ monolib_xh_listbk.o: $(srcdir)/src/xrc/xh_listbk.cpp $(MONOLIB_ODEP)
 monolib_xh_listc.o: $(srcdir)/src/xrc/xh_listc.cpp $(MONOLIB_ODEP)
 	$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_listc.cpp
 
+monolib_xh_mdi.o: $(srcdir)/src/xrc/xh_mdi.cpp $(MONOLIB_ODEP)
+	$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_mdi.cpp
+
 monolib_xh_menu.o: $(srcdir)/src/xrc/xh_menu.cpp $(MONOLIB_ODEP)
 	$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_menu.cpp
 
@@ -32506,11 +32518,8 @@ xrcdll_xh_dirpicker.o: $(srcdir)/src/xrc/xh_dirpicker.cpp $(XRCDLL_ODEP)
 xrcdll_xh_dlg.o: $(srcdir)/src/xrc/xh_dlg.cpp $(XRCDLL_ODEP)
 	$(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_dlg.cpp
 
-xrcdll_xh_frame.o: $(srcdir)/src/xrc/xh_frame.cpp $(XRCDLL_ODEP)
-	$(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_frame.cpp
-
-xrcdll_xh_mdi.o: $(srcdir)/src/xrc/xh_mdi.cpp $(XRCDLL_ODEP)
-	$(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_mdi.cpp
+xrcdll_xh_editlbox.o: $(srcdir)/src/xrc/xh_editlbox.cpp $(XRCDLL_ODEP)
+	$(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_editlbox.cpp
 
 xrcdll_xh_filepicker.o: $(srcdir)/src/xrc/xh_filepicker.cpp $(XRCDLL_ODEP)
 	$(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_filepicker.cpp
@@ -32518,6 +32527,9 @@ xrcdll_xh_filepicker.o: $(srcdir)/src/xrc/xh_filepicker.cpp $(XRCDLL_ODEP)
 xrcdll_xh_fontpicker.o: $(srcdir)/src/xrc/xh_fontpicker.cpp $(XRCDLL_ODEP)
 	$(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_fontpicker.cpp
 
+xrcdll_xh_frame.o: $(srcdir)/src/xrc/xh_frame.cpp $(XRCDLL_ODEP)
+	$(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_frame.cpp
+
 xrcdll_xh_gauge.o: $(srcdir)/src/xrc/xh_gauge.cpp $(XRCDLL_ODEP)
 	$(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_gauge.cpp
 
@@ -32542,6 +32554,9 @@ xrcdll_xh_listbk.o: $(srcdir)/src/xrc/xh_listbk.cpp $(XRCDLL_ODEP)
 xrcdll_xh_listc.o: $(srcdir)/src/xrc/xh_listc.cpp $(XRCDLL_ODEP)
 	$(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_listc.cpp
 
+xrcdll_xh_mdi.o: $(srcdir)/src/xrc/xh_mdi.cpp $(XRCDLL_ODEP)
+	$(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_mdi.cpp
+
 xrcdll_xh_menu.o: $(srcdir)/src/xrc/xh_menu.cpp $(XRCDLL_ODEP)
 	$(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_menu.cpp
 
@@ -32683,11 +32698,8 @@ xrclib_xh_dirpicker.o: $(srcdir)/src/xrc/xh_dirpicker.cpp $(XRCLIB_ODEP)
 xrclib_xh_dlg.o: $(srcdir)/src/xrc/xh_dlg.cpp $(XRCLIB_ODEP)
 	$(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_dlg.cpp
 
-xrclib_xh_frame.o: $(srcdir)/src/xrc/xh_frame.cpp $(XRCLIB_ODEP)
-	$(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_frame.cpp
-
-xrclib_xh_mdi.o: $(srcdir)/src/xrc/xh_mdi.cpp $(XRCLIB_ODEP)
-	$(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_mdi.cpp
+xrclib_xh_editlbox.o: $(srcdir)/src/xrc/xh_editlbox.cpp $(XRCLIB_ODEP)
+	$(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_editlbox.cpp
 
 xrclib_xh_filepicker.o: $(srcdir)/src/xrc/xh_filepicker.cpp $(XRCLIB_ODEP)
 	$(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_filepicker.cpp
@@ -32695,6 +32707,9 @@ xrclib_xh_filepicker.o: $(srcdir)/src/xrc/xh_filepicker.cpp $(XRCLIB_ODEP)
 xrclib_xh_fontpicker.o: $(srcdir)/src/xrc/xh_fontpicker.cpp $(XRCLIB_ODEP)
 	$(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_fontpicker.cpp
 
+xrclib_xh_frame.o: $(srcdir)/src/xrc/xh_frame.cpp $(XRCLIB_ODEP)
+	$(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_frame.cpp
+
 xrclib_xh_gauge.o: $(srcdir)/src/xrc/xh_gauge.cpp $(XRCLIB_ODEP)
 	$(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_gauge.cpp
 
@@ -32719,6 +32734,9 @@ xrclib_xh_listbk.o: $(srcdir)/src/xrc/xh_listbk.cpp $(XRCLIB_ODEP)
 xrclib_xh_listc.o: $(srcdir)/src/xrc/xh_listc.cpp $(XRCLIB_ODEP)
 	$(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_listc.cpp
 
+xrclib_xh_mdi.o: $(srcdir)/src/xrc/xh_mdi.cpp $(XRCLIB_ODEP)
+	$(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_mdi.cpp
+
 xrclib_xh_menu.o: $(srcdir)/src/xrc/xh_menu.cpp $(XRCLIB_ODEP)
 	$(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_menu.cpp
 
diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl
index 37f419d39c..a13a0940cb 100644
--- a/build/bakefiles/files.bkl
+++ b/build/bakefiles/files.bkl
@@ -3195,10 +3195,10 @@ src/osx/iphone/window.mm
     src/xrc/xh_datectrl.cpp
     src/xrc/xh_dirpicker.cpp
     src/xrc/xh_dlg.cpp
-    src/xrc/xh_frame.cpp
-    src/xrc/xh_mdi.cpp
+    src/xrc/xh_editlbox.cpp
     src/xrc/xh_filepicker.cpp
     src/xrc/xh_fontpicker.cpp
+    src/xrc/xh_frame.cpp
     src/xrc/xh_gauge.cpp
     src/xrc/xh_gdctl.cpp
     src/xrc/xh_grid.cpp
@@ -3207,6 +3207,7 @@ src/osx/iphone/window.mm
     src/xrc/xh_listb.cpp
     src/xrc/xh_listbk.cpp
     src/xrc/xh_listc.cpp
+    src/xrc/xh_mdi.cpp
     src/xrc/xh_menu.cpp
     src/xrc/xh_notbk.cpp
     src/xrc/xh_odcombo.cpp
@@ -3259,6 +3260,7 @@ src/osx/iphone/window.mm
     wx/xrc/xh_datectrl.h
     wx/xrc/xh_dirpicker.h
     wx/xrc/xh_dlg.h
+    wx/xrc/xh_editlbox.h
     wx/xrc/xh_filepicker.h
     wx/xrc/xh_fontpicker.h
     wx/xrc/xh_frame.h
diff --git a/build/msw/makefile.bcc b/build/msw/makefile.bcc
index a71f80d0c6..137018cb26 100644
--- a/build/msw/makefile.bcc
+++ b/build/msw/makefile.bcc
@@ -1085,10 +1085,10 @@ XRCDLL_OBJECTS =  \
 	$(OBJS)\xrcdll_xh_datectrl.obj \
 	$(OBJS)\xrcdll_xh_dirpicker.obj \
 	$(OBJS)\xrcdll_xh_dlg.obj \
-	$(OBJS)\xrcdll_xh_frame.obj \
-	$(OBJS)\xrcdll_xh_mdi.obj \
+	$(OBJS)\xrcdll_xh_editlbox.obj \
 	$(OBJS)\xrcdll_xh_filepicker.obj \
 	$(OBJS)\xrcdll_xh_fontpicker.obj \
+	$(OBJS)\xrcdll_xh_frame.obj \
 	$(OBJS)\xrcdll_xh_gauge.obj \
 	$(OBJS)\xrcdll_xh_gdctl.obj \
 	$(OBJS)\xrcdll_xh_grid.obj \
@@ -1097,6 +1097,7 @@ XRCDLL_OBJECTS =  \
 	$(OBJS)\xrcdll_xh_listb.obj \
 	$(OBJS)\xrcdll_xh_listbk.obj \
 	$(OBJS)\xrcdll_xh_listc.obj \
+	$(OBJS)\xrcdll_xh_mdi.obj \
 	$(OBJS)\xrcdll_xh_menu.obj \
 	$(OBJS)\xrcdll_xh_notbk.obj \
 	$(OBJS)\xrcdll_xh_odcombo.obj \
@@ -1154,10 +1155,10 @@ XRCLIB_OBJECTS =  \
 	$(OBJS)\xrclib_xh_datectrl.obj \
 	$(OBJS)\xrclib_xh_dirpicker.obj \
 	$(OBJS)\xrclib_xh_dlg.obj \
-	$(OBJS)\xrclib_xh_frame.obj \
-	$(OBJS)\xrclib_xh_mdi.obj \
+	$(OBJS)\xrclib_xh_editlbox.obj \
 	$(OBJS)\xrclib_xh_filepicker.obj \
 	$(OBJS)\xrclib_xh_fontpicker.obj \
+	$(OBJS)\xrclib_xh_frame.obj \
 	$(OBJS)\xrclib_xh_gauge.obj \
 	$(OBJS)\xrclib_xh_gdctl.obj \
 	$(OBJS)\xrclib_xh_grid.obj \
@@ -1166,6 +1167,7 @@ XRCLIB_OBJECTS =  \
 	$(OBJS)\xrclib_xh_listb.obj \
 	$(OBJS)\xrclib_xh_listbk.obj \
 	$(OBJS)\xrclib_xh_listc.obj \
+	$(OBJS)\xrclib_xh_mdi.obj \
 	$(OBJS)\xrclib_xh_menu.obj \
 	$(OBJS)\xrclib_xh_notbk.obj \
 	$(OBJS)\xrclib_xh_odcombo.obj \
@@ -1462,10 +1464,10 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS =  \
 	$(OBJS)\monodll_xh_datectrl.obj \
 	$(OBJS)\monodll_xh_dirpicker.obj \
 	$(OBJS)\monodll_xh_dlg.obj \
-	$(OBJS)\monodll_xh_frame.obj \
-	$(OBJS)\monodll_xh_mdi.obj \
+	$(OBJS)\monodll_xh_editlbox.obj \
 	$(OBJS)\monodll_xh_filepicker.obj \
 	$(OBJS)\monodll_xh_fontpicker.obj \
+	$(OBJS)\monodll_xh_frame.obj \
 	$(OBJS)\monodll_xh_gauge.obj \
 	$(OBJS)\monodll_xh_gdctl.obj \
 	$(OBJS)\monodll_xh_grid.obj \
@@ -1474,6 +1476,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS =  \
 	$(OBJS)\monodll_xh_listb.obj \
 	$(OBJS)\monodll_xh_listbk.obj \
 	$(OBJS)\monodll_xh_listc.obj \
+	$(OBJS)\monodll_xh_mdi.obj \
 	$(OBJS)\monodll_xh_menu.obj \
 	$(OBJS)\monodll_xh_notbk.obj \
 	$(OBJS)\monodll_xh_odcombo.obj \
@@ -2146,10 +2149,10 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS =  \
 	$(OBJS)\monolib_xh_datectrl.obj \
 	$(OBJS)\monolib_xh_dirpicker.obj \
 	$(OBJS)\monolib_xh_dlg.obj \
-	$(OBJS)\monolib_xh_frame.obj \
-	$(OBJS)\monolib_xh_mdi.obj \
+	$(OBJS)\monolib_xh_editlbox.obj \
 	$(OBJS)\monolib_xh_filepicker.obj \
 	$(OBJS)\monolib_xh_fontpicker.obj \
+	$(OBJS)\monolib_xh_frame.obj \
 	$(OBJS)\monolib_xh_gauge.obj \
 	$(OBJS)\monolib_xh_gdctl.obj \
 	$(OBJS)\monolib_xh_grid.obj \
@@ -2158,6 +2161,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS =  \
 	$(OBJS)\monolib_xh_listb.obj \
 	$(OBJS)\monolib_xh_listbk.obj \
 	$(OBJS)\monolib_xh_listc.obj \
+	$(OBJS)\monolib_xh_mdi.obj \
 	$(OBJS)\monolib_xh_menu.obj \
 	$(OBJS)\monolib_xh_notbk.obj \
 	$(OBJS)\monolib_xh_odcombo.obj \
@@ -6043,11 +6047,8 @@ $(OBJS)\monodll_xh_dirpicker.obj: ..\..\src\xrc\xh_dirpicker.cpp
 $(OBJS)\monodll_xh_dlg.obj: ..\..\src\xrc\xh_dlg.cpp
 	$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_dlg.cpp
 
-$(OBJS)\monodll_xh_frame.obj: ..\..\src\xrc\xh_frame.cpp
-	$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_frame.cpp
-
-$(OBJS)\monodll_xh_mdi.obj: ..\..\src\xrc\xh_mdi.cpp
-	$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_mdi.cpp
+$(OBJS)\monodll_xh_editlbox.obj: ..\..\src\xrc\xh_editlbox.cpp
+	$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_editlbox.cpp
 
 $(OBJS)\monodll_xh_filepicker.obj: ..\..\src\xrc\xh_filepicker.cpp
 	$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_filepicker.cpp
@@ -6055,6 +6056,9 @@ $(OBJS)\monodll_xh_filepicker.obj: ..\..\src\xrc\xh_filepicker.cpp
 $(OBJS)\monodll_xh_fontpicker.obj: ..\..\src\xrc\xh_fontpicker.cpp
 	$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_fontpicker.cpp
 
+$(OBJS)\monodll_xh_frame.obj: ..\..\src\xrc\xh_frame.cpp
+	$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_frame.cpp
+
 $(OBJS)\monodll_xh_gauge.obj: ..\..\src\xrc\xh_gauge.cpp
 	$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_gauge.cpp
 
@@ -6079,6 +6083,9 @@ $(OBJS)\monodll_xh_listbk.obj: ..\..\src\xrc\xh_listbk.cpp
 $(OBJS)\monodll_xh_listc.obj: ..\..\src\xrc\xh_listc.cpp
 	$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_listc.cpp
 
+$(OBJS)\monodll_xh_mdi.obj: ..\..\src\xrc\xh_mdi.cpp
+	$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_mdi.cpp
+
 $(OBJS)\monodll_xh_menu.obj: ..\..\src\xrc\xh_menu.cpp
 	$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_menu.cpp
 
@@ -8274,11 +8281,8 @@ $(OBJS)\monolib_xh_dirpicker.obj: ..\..\src\xrc\xh_dirpicker.cpp
 $(OBJS)\monolib_xh_dlg.obj: ..\..\src\xrc\xh_dlg.cpp
 	$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_dlg.cpp
 
-$(OBJS)\monolib_xh_frame.obj: ..\..\src\xrc\xh_frame.cpp
-	$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_frame.cpp
-
-$(OBJS)\monolib_xh_mdi.obj: ..\..\src\xrc\xh_mdi.cpp
-	$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_mdi.cpp
+$(OBJS)\monolib_xh_editlbox.obj: ..\..\src\xrc\xh_editlbox.cpp
+	$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_editlbox.cpp
 
 $(OBJS)\monolib_xh_filepicker.obj: ..\..\src\xrc\xh_filepicker.cpp
 	$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_filepicker.cpp
@@ -8286,6 +8290,9 @@ $(OBJS)\monolib_xh_filepicker.obj: ..\..\src\xrc\xh_filepicker.cpp
 $(OBJS)\monolib_xh_fontpicker.obj: ..\..\src\xrc\xh_fontpicker.cpp
 	$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_fontpicker.cpp
 
+$(OBJS)\monolib_xh_frame.obj: ..\..\src\xrc\xh_frame.cpp
+	$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_frame.cpp
+
 $(OBJS)\monolib_xh_gauge.obj: ..\..\src\xrc\xh_gauge.cpp
 	$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_gauge.cpp
 
@@ -8310,6 +8317,9 @@ $(OBJS)\monolib_xh_listbk.obj: ..\..\src\xrc\xh_listbk.cpp
 $(OBJS)\monolib_xh_listc.obj: ..\..\src\xrc\xh_listc.cpp
 	$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_listc.cpp
 
+$(OBJS)\monolib_xh_mdi.obj: ..\..\src\xrc\xh_mdi.cpp
+	$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_mdi.cpp
+
 $(OBJS)\monolib_xh_menu.obj: ..\..\src\xrc\xh_menu.cpp
 	$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_menu.cpp
 
@@ -13858,11 +13868,8 @@ $(OBJS)\xrcdll_xh_dirpicker.obj: ..\..\src\xrc\xh_dirpicker.cpp
 $(OBJS)\xrcdll_xh_dlg.obj: ..\..\src\xrc\xh_dlg.cpp
 	$(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_dlg.cpp
 
-$(OBJS)\xrcdll_xh_frame.obj: ..\..\src\xrc\xh_frame.cpp
-	$(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_frame.cpp
-
-$(OBJS)\xrcdll_xh_mdi.obj: ..\..\src\xrc\xh_mdi.cpp
-	$(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_mdi.cpp
+$(OBJS)\xrcdll_xh_editlbox.obj: ..\..\src\xrc\xh_editlbox.cpp
+	$(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_editlbox.cpp
 
 $(OBJS)\xrcdll_xh_filepicker.obj: ..\..\src\xrc\xh_filepicker.cpp
 	$(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_filepicker.cpp
@@ -13870,6 +13877,9 @@ $(OBJS)\xrcdll_xh_filepicker.obj: ..\..\src\xrc\xh_filepicker.cpp
 $(OBJS)\xrcdll_xh_fontpicker.obj: ..\..\src\xrc\xh_fontpicker.cpp
 	$(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_fontpicker.cpp
 
+$(OBJS)\xrcdll_xh_frame.obj: ..\..\src\xrc\xh_frame.cpp
+	$(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_frame.cpp
+
 $(OBJS)\xrcdll_xh_gauge.obj: ..\..\src\xrc\xh_gauge.cpp
 	$(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_gauge.cpp
 
@@ -13894,6 +13904,9 @@ $(OBJS)\xrcdll_xh_listbk.obj: ..\..\src\xrc\xh_listbk.cpp
 $(OBJS)\xrcdll_xh_listc.obj: ..\..\src\xrc\xh_listc.cpp
 	$(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_listc.cpp
 
+$(OBJS)\xrcdll_xh_mdi.obj: ..\..\src\xrc\xh_mdi.cpp
+	$(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_mdi.cpp
+
 $(OBJS)\xrcdll_xh_menu.obj: ..\..\src\xrc\xh_menu.cpp
 	$(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_menu.cpp
 
@@ -14038,11 +14051,8 @@ $(OBJS)\xrclib_xh_dirpicker.obj: ..\..\src\xrc\xh_dirpicker.cpp
 $(OBJS)\xrclib_xh_dlg.obj: ..\..\src\xrc\xh_dlg.cpp
 	$(CXX) -q -c -P -o$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_dlg.cpp
 
-$(OBJS)\xrclib_xh_frame.obj: ..\..\src\xrc\xh_frame.cpp
-	$(CXX) -q -c -P -o$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_frame.cpp
-
-$(OBJS)\xrclib_xh_mdi.obj: ..\..\src\xrc\xh_mdi.cpp
-	$(CXX) -q -c -P -o$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_mdi.cpp
+$(OBJS)\xrclib_xh_editlbox.obj: ..\..\src\xrc\xh_editlbox.cpp
+	$(CXX) -q -c -P -o$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_editlbox.cpp
 
 $(OBJS)\xrclib_xh_filepicker.obj: ..\..\src\xrc\xh_filepicker.cpp
 	$(CXX) -q -c -P -o$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_filepicker.cpp
@@ -14050,6 +14060,9 @@ $(OBJS)\xrclib_xh_filepicker.obj: ..\..\src\xrc\xh_filepicker.cpp
 $(OBJS)\xrclib_xh_fontpicker.obj: ..\..\src\xrc\xh_fontpicker.cpp
 	$(CXX) -q -c -P -o$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_fontpicker.cpp
 
+$(OBJS)\xrclib_xh_frame.obj: ..\..\src\xrc\xh_frame.cpp
+	$(CXX) -q -c -P -o$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_frame.cpp
+
 $(OBJS)\xrclib_xh_gauge.obj: ..\..\src\xrc\xh_gauge.cpp
 	$(CXX) -q -c -P -o$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_gauge.cpp
 
@@ -14074,6 +14087,9 @@ $(OBJS)\xrclib_xh_listbk.obj: ..\..\src\xrc\xh_listbk.cpp
 $(OBJS)\xrclib_xh_listc.obj: ..\..\src\xrc\xh_listc.cpp
 	$(CXX) -q -c -P -o$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_listc.cpp
 
+$(OBJS)\xrclib_xh_mdi.obj: ..\..\src\xrc\xh_mdi.cpp
+	$(CXX) -q -c -P -o$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_mdi.cpp
+
 $(OBJS)\xrclib_xh_menu.obj: ..\..\src\xrc\xh_menu.cpp
 	$(CXX) -q -c -P -o$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_menu.cpp
 
diff --git a/build/msw/makefile.gcc b/build/msw/makefile.gcc
index 9f5fafa4fc..6c1420305c 100644
--- a/build/msw/makefile.gcc
+++ b/build/msw/makefile.gcc
@@ -1087,10 +1087,10 @@ XRCDLL_OBJECTS =  \
 	$(OBJS)\xrcdll_xh_datectrl.o \
 	$(OBJS)\xrcdll_xh_dirpicker.o \
 	$(OBJS)\xrcdll_xh_dlg.o \
-	$(OBJS)\xrcdll_xh_frame.o \
-	$(OBJS)\xrcdll_xh_mdi.o \
+	$(OBJS)\xrcdll_xh_editlbox.o \
 	$(OBJS)\xrcdll_xh_filepicker.o \
 	$(OBJS)\xrcdll_xh_fontpicker.o \
+	$(OBJS)\xrcdll_xh_frame.o \
 	$(OBJS)\xrcdll_xh_gauge.o \
 	$(OBJS)\xrcdll_xh_gdctl.o \
 	$(OBJS)\xrcdll_xh_grid.o \
@@ -1099,6 +1099,7 @@ XRCDLL_OBJECTS =  \
 	$(OBJS)\xrcdll_xh_listb.o \
 	$(OBJS)\xrcdll_xh_listbk.o \
 	$(OBJS)\xrcdll_xh_listc.o \
+	$(OBJS)\xrcdll_xh_mdi.o \
 	$(OBJS)\xrcdll_xh_menu.o \
 	$(OBJS)\xrcdll_xh_notbk.o \
 	$(OBJS)\xrcdll_xh_odcombo.o \
@@ -1156,10 +1157,10 @@ XRCLIB_OBJECTS =  \
 	$(OBJS)\xrclib_xh_datectrl.o \
 	$(OBJS)\xrclib_xh_dirpicker.o \
 	$(OBJS)\xrclib_xh_dlg.o \
-	$(OBJS)\xrclib_xh_frame.o \
-	$(OBJS)\xrclib_xh_mdi.o \
+	$(OBJS)\xrclib_xh_editlbox.o \
 	$(OBJS)\xrclib_xh_filepicker.o \
 	$(OBJS)\xrclib_xh_fontpicker.o \
+	$(OBJS)\xrclib_xh_frame.o \
 	$(OBJS)\xrclib_xh_gauge.o \
 	$(OBJS)\xrclib_xh_gdctl.o \
 	$(OBJS)\xrclib_xh_grid.o \
@@ -1168,6 +1169,7 @@ XRCLIB_OBJECTS =  \
 	$(OBJS)\xrclib_xh_listb.o \
 	$(OBJS)\xrclib_xh_listbk.o \
 	$(OBJS)\xrclib_xh_listc.o \
+	$(OBJS)\xrclib_xh_mdi.o \
 	$(OBJS)\xrclib_xh_menu.o \
 	$(OBJS)\xrclib_xh_notbk.o \
 	$(OBJS)\xrclib_xh_odcombo.o \
@@ -1479,10 +1481,10 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS =  \
 	$(OBJS)\monodll_xh_datectrl.o \
 	$(OBJS)\monodll_xh_dirpicker.o \
 	$(OBJS)\monodll_xh_dlg.o \
-	$(OBJS)\monodll_xh_frame.o \
-	$(OBJS)\monodll_xh_mdi.o \
+	$(OBJS)\monodll_xh_editlbox.o \
 	$(OBJS)\monodll_xh_filepicker.o \
 	$(OBJS)\monodll_xh_fontpicker.o \
+	$(OBJS)\monodll_xh_frame.o \
 	$(OBJS)\monodll_xh_gauge.o \
 	$(OBJS)\monodll_xh_gdctl.o \
 	$(OBJS)\monodll_xh_grid.o \
@@ -1491,6 +1493,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS =  \
 	$(OBJS)\monodll_xh_listb.o \
 	$(OBJS)\monodll_xh_listbk.o \
 	$(OBJS)\monodll_xh_listc.o \
+	$(OBJS)\monodll_xh_mdi.o \
 	$(OBJS)\monodll_xh_menu.o \
 	$(OBJS)\monodll_xh_notbk.o \
 	$(OBJS)\monodll_xh_odcombo.o \
@@ -2169,10 +2172,10 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS =  \
 	$(OBJS)\monolib_xh_datectrl.o \
 	$(OBJS)\monolib_xh_dirpicker.o \
 	$(OBJS)\monolib_xh_dlg.o \
-	$(OBJS)\monolib_xh_frame.o \
-	$(OBJS)\monolib_xh_mdi.o \
+	$(OBJS)\monolib_xh_editlbox.o \
 	$(OBJS)\monolib_xh_filepicker.o \
 	$(OBJS)\monolib_xh_fontpicker.o \
+	$(OBJS)\monolib_xh_frame.o \
 	$(OBJS)\monolib_xh_gauge.o \
 	$(OBJS)\monolib_xh_gdctl.o \
 	$(OBJS)\monolib_xh_grid.o \
@@ -2181,6 +2184,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS =  \
 	$(OBJS)\monolib_xh_listb.o \
 	$(OBJS)\monolib_xh_listbk.o \
 	$(OBJS)\monolib_xh_listc.o \
+	$(OBJS)\monolib_xh_mdi.o \
 	$(OBJS)\monolib_xh_menu.o \
 	$(OBJS)\monolib_xh_notbk.o \
 	$(OBJS)\monolib_xh_odcombo.o \
@@ -6195,10 +6199,7 @@ $(OBJS)\monodll_xh_dirpicker.o: ../../src/xrc/xh_dirpicker.cpp
 $(OBJS)\monodll_xh_dlg.o: ../../src/xrc/xh_dlg.cpp
 	$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
 
-$(OBJS)\monodll_xh_frame.o: ../../src/xrc/xh_frame.cpp
-	$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
-
-$(OBJS)\monodll_xh_mdi.o: ../../src/xrc/xh_mdi.cpp
+$(OBJS)\monodll_xh_editlbox.o: ../../src/xrc/xh_editlbox.cpp
 	$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
 
 $(OBJS)\monodll_xh_filepicker.o: ../../src/xrc/xh_filepicker.cpp
@@ -6207,6 +6208,9 @@ $(OBJS)\monodll_xh_filepicker.o: ../../src/xrc/xh_filepicker.cpp
 $(OBJS)\monodll_xh_fontpicker.o: ../../src/xrc/xh_fontpicker.cpp
 	$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\monodll_xh_frame.o: ../../src/xrc/xh_frame.cpp
+	$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\monodll_xh_gauge.o: ../../src/xrc/xh_gauge.cpp
 	$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
 
@@ -6231,6 +6235,9 @@ $(OBJS)\monodll_xh_listbk.o: ../../src/xrc/xh_listbk.cpp
 $(OBJS)\monodll_xh_listc.o: ../../src/xrc/xh_listc.cpp
 	$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\monodll_xh_mdi.o: ../../src/xrc/xh_mdi.cpp
+	$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\monodll_xh_menu.o: ../../src/xrc/xh_menu.cpp
 	$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
 
@@ -8538,10 +8545,7 @@ $(OBJS)\monolib_xh_dirpicker.o: ../../src/xrc/xh_dirpicker.cpp
 $(OBJS)\monolib_xh_dlg.o: ../../src/xrc/xh_dlg.cpp
 	$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
 
-$(OBJS)\monolib_xh_frame.o: ../../src/xrc/xh_frame.cpp
-	$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
-
-$(OBJS)\monolib_xh_mdi.o: ../../src/xrc/xh_mdi.cpp
+$(OBJS)\monolib_xh_editlbox.o: ../../src/xrc/xh_editlbox.cpp
 	$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
 
 $(OBJS)\monolib_xh_filepicker.o: ../../src/xrc/xh_filepicker.cpp
@@ -8550,6 +8554,9 @@ $(OBJS)\monolib_xh_filepicker.o: ../../src/xrc/xh_filepicker.cpp
 $(OBJS)\monolib_xh_fontpicker.o: ../../src/xrc/xh_fontpicker.cpp
 	$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\monolib_xh_frame.o: ../../src/xrc/xh_frame.cpp
+	$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\monolib_xh_gauge.o: ../../src/xrc/xh_gauge.cpp
 	$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
 
@@ -8574,6 +8581,9 @@ $(OBJS)\monolib_xh_listbk.o: ../../src/xrc/xh_listbk.cpp
 $(OBJS)\monolib_xh_listc.o: ../../src/xrc/xh_listc.cpp
 	$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\monolib_xh_mdi.o: ../../src/xrc/xh_mdi.cpp
+	$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\monolib_xh_menu.o: ../../src/xrc/xh_menu.cpp
 	$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
 
@@ -14458,10 +14468,7 @@ $(OBJS)\xrcdll_xh_dirpicker.o: ../../src/xrc/xh_dirpicker.cpp
 $(OBJS)\xrcdll_xh_dlg.o: ../../src/xrc/xh_dlg.cpp
 	$(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $<
 
-$(OBJS)\xrcdll_xh_frame.o: ../../src/xrc/xh_frame.cpp
-	$(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $<
-
-$(OBJS)\xrcdll_xh_mdi.o: ../../src/xrc/xh_mdi.cpp
+$(OBJS)\xrcdll_xh_editlbox.o: ../../src/xrc/xh_editlbox.cpp
 	$(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $<
 
 $(OBJS)\xrcdll_xh_filepicker.o: ../../src/xrc/xh_filepicker.cpp
@@ -14470,6 +14477,9 @@ $(OBJS)\xrcdll_xh_filepicker.o: ../../src/xrc/xh_filepicker.cpp
 $(OBJS)\xrcdll_xh_fontpicker.o: ../../src/xrc/xh_fontpicker.cpp
 	$(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\xrcdll_xh_frame.o: ../../src/xrc/xh_frame.cpp
+	$(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\xrcdll_xh_gauge.o: ../../src/xrc/xh_gauge.cpp
 	$(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $<
 
@@ -14494,6 +14504,9 @@ $(OBJS)\xrcdll_xh_listbk.o: ../../src/xrc/xh_listbk.cpp
 $(OBJS)\xrcdll_xh_listc.o: ../../src/xrc/xh_listc.cpp
 	$(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\xrcdll_xh_mdi.o: ../../src/xrc/xh_mdi.cpp
+	$(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\xrcdll_xh_menu.o: ../../src/xrc/xh_menu.cpp
 	$(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $<
 
@@ -14638,10 +14651,7 @@ $(OBJS)\xrclib_xh_dirpicker.o: ../../src/xrc/xh_dirpicker.cpp
 $(OBJS)\xrclib_xh_dlg.o: ../../src/xrc/xh_dlg.cpp
 	$(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $<
 
-$(OBJS)\xrclib_xh_frame.o: ../../src/xrc/xh_frame.cpp
-	$(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $<
-
-$(OBJS)\xrclib_xh_mdi.o: ../../src/xrc/xh_mdi.cpp
+$(OBJS)\xrclib_xh_editlbox.o: ../../src/xrc/xh_editlbox.cpp
 	$(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $<
 
 $(OBJS)\xrclib_xh_filepicker.o: ../../src/xrc/xh_filepicker.cpp
@@ -14650,6 +14660,9 @@ $(OBJS)\xrclib_xh_filepicker.o: ../../src/xrc/xh_filepicker.cpp
 $(OBJS)\xrclib_xh_fontpicker.o: ../../src/xrc/xh_fontpicker.cpp
 	$(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\xrclib_xh_frame.o: ../../src/xrc/xh_frame.cpp
+	$(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\xrclib_xh_gauge.o: ../../src/xrc/xh_gauge.cpp
 	$(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $<
 
@@ -14674,6 +14687,9 @@ $(OBJS)\xrclib_xh_listbk.o: ../../src/xrc/xh_listbk.cpp
 $(OBJS)\xrclib_xh_listc.o: ../../src/xrc/xh_listc.cpp
 	$(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\xrclib_xh_mdi.o: ../../src/xrc/xh_mdi.cpp
+	$(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\xrclib_xh_menu.o: ../../src/xrc/xh_menu.cpp
 	$(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $<
 
diff --git a/build/msw/makefile.vc b/build/msw/makefile.vc
index ea99b8f4ad..40149acf4a 100644
--- a/build/msw/makefile.vc
+++ b/build/msw/makefile.vc
@@ -1155,10 +1155,10 @@ XRCDLL_OBJECTS =  \
 	$(OBJS)\xrcdll_xh_datectrl.obj \
 	$(OBJS)\xrcdll_xh_dirpicker.obj \
 	$(OBJS)\xrcdll_xh_dlg.obj \
-	$(OBJS)\xrcdll_xh_frame.obj \
-	$(OBJS)\xrcdll_xh_mdi.obj \
+	$(OBJS)\xrcdll_xh_editlbox.obj \
 	$(OBJS)\xrcdll_xh_filepicker.obj \
 	$(OBJS)\xrcdll_xh_fontpicker.obj \
+	$(OBJS)\xrcdll_xh_frame.obj \
 	$(OBJS)\xrcdll_xh_gauge.obj \
 	$(OBJS)\xrcdll_xh_gdctl.obj \
 	$(OBJS)\xrcdll_xh_grid.obj \
@@ -1167,6 +1167,7 @@ XRCDLL_OBJECTS =  \
 	$(OBJS)\xrcdll_xh_listb.obj \
 	$(OBJS)\xrcdll_xh_listbk.obj \
 	$(OBJS)\xrcdll_xh_listc.obj \
+	$(OBJS)\xrcdll_xh_mdi.obj \
 	$(OBJS)\xrcdll_xh_menu.obj \
 	$(OBJS)\xrcdll_xh_notbk.obj \
 	$(OBJS)\xrcdll_xh_odcombo.obj \
@@ -1227,10 +1228,10 @@ XRCLIB_OBJECTS =  \
 	$(OBJS)\xrclib_xh_datectrl.obj \
 	$(OBJS)\xrclib_xh_dirpicker.obj \
 	$(OBJS)\xrclib_xh_dlg.obj \
-	$(OBJS)\xrclib_xh_frame.obj \
-	$(OBJS)\xrclib_xh_mdi.obj \
+	$(OBJS)\xrclib_xh_editlbox.obj \
 	$(OBJS)\xrclib_xh_filepicker.obj \
 	$(OBJS)\xrclib_xh_fontpicker.obj \
+	$(OBJS)\xrclib_xh_frame.obj \
 	$(OBJS)\xrclib_xh_gauge.obj \
 	$(OBJS)\xrclib_xh_gdctl.obj \
 	$(OBJS)\xrclib_xh_grid.obj \
@@ -1239,6 +1240,7 @@ XRCLIB_OBJECTS =  \
 	$(OBJS)\xrclib_xh_listb.obj \
 	$(OBJS)\xrclib_xh_listbk.obj \
 	$(OBJS)\xrclib_xh_listc.obj \
+	$(OBJS)\xrclib_xh_mdi.obj \
 	$(OBJS)\xrclib_xh_menu.obj \
 	$(OBJS)\xrclib_xh_notbk.obj \
 	$(OBJS)\xrclib_xh_odcombo.obj \
@@ -1642,10 +1644,10 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS =  \
 	$(OBJS)\monodll_xh_datectrl.obj \
 	$(OBJS)\monodll_xh_dirpicker.obj \
 	$(OBJS)\monodll_xh_dlg.obj \
-	$(OBJS)\monodll_xh_frame.obj \
-	$(OBJS)\monodll_xh_mdi.obj \
+	$(OBJS)\monodll_xh_editlbox.obj \
 	$(OBJS)\monodll_xh_filepicker.obj \
 	$(OBJS)\monodll_xh_fontpicker.obj \
+	$(OBJS)\monodll_xh_frame.obj \
 	$(OBJS)\monodll_xh_gauge.obj \
 	$(OBJS)\monodll_xh_gdctl.obj \
 	$(OBJS)\monodll_xh_grid.obj \
@@ -1654,6 +1656,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS =  \
 	$(OBJS)\monodll_xh_listb.obj \
 	$(OBJS)\monodll_xh_listbk.obj \
 	$(OBJS)\monodll_xh_listc.obj \
+	$(OBJS)\monodll_xh_mdi.obj \
 	$(OBJS)\monodll_xh_menu.obj \
 	$(OBJS)\monodll_xh_notbk.obj \
 	$(OBJS)\monodll_xh_odcombo.obj \
@@ -2332,10 +2335,10 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS =  \
 	$(OBJS)\monolib_xh_datectrl.obj \
 	$(OBJS)\monolib_xh_dirpicker.obj \
 	$(OBJS)\monolib_xh_dlg.obj \
-	$(OBJS)\monolib_xh_frame.obj \
-	$(OBJS)\monolib_xh_mdi.obj \
+	$(OBJS)\monolib_xh_editlbox.obj \
 	$(OBJS)\monolib_xh_filepicker.obj \
 	$(OBJS)\monolib_xh_fontpicker.obj \
+	$(OBJS)\monolib_xh_frame.obj \
 	$(OBJS)\monolib_xh_gauge.obj \
 	$(OBJS)\monolib_xh_gdctl.obj \
 	$(OBJS)\monolib_xh_grid.obj \
@@ -2344,6 +2347,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS =  \
 	$(OBJS)\monolib_xh_listb.obj \
 	$(OBJS)\monolib_xh_listbk.obj \
 	$(OBJS)\monolib_xh_listc.obj \
+	$(OBJS)\monolib_xh_mdi.obj \
 	$(OBJS)\monolib_xh_menu.obj \
 	$(OBJS)\monolib_xh_notbk.obj \
 	$(OBJS)\monolib_xh_odcombo.obj \
@@ -6389,11 +6393,8 @@ $(OBJS)\monodll_xh_dirpicker.obj: ..\..\src\xrc\xh_dirpicker.cpp
 $(OBJS)\monodll_xh_dlg.obj: ..\..\src\xrc\xh_dlg.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_dlg.cpp
 
-$(OBJS)\monodll_xh_frame.obj: ..\..\src\xrc\xh_frame.cpp
-	$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_frame.cpp
-
-$(OBJS)\monodll_xh_mdi.obj: ..\..\src\xrc\xh_mdi.cpp
-	$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_mdi.cpp
+$(OBJS)\monodll_xh_editlbox.obj: ..\..\src\xrc\xh_editlbox.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_editlbox.cpp
 
 $(OBJS)\monodll_xh_filepicker.obj: ..\..\src\xrc\xh_filepicker.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_filepicker.cpp
@@ -6401,6 +6402,9 @@ $(OBJS)\monodll_xh_filepicker.obj: ..\..\src\xrc\xh_filepicker.cpp
 $(OBJS)\monodll_xh_fontpicker.obj: ..\..\src\xrc\xh_fontpicker.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_fontpicker.cpp
 
+$(OBJS)\monodll_xh_frame.obj: ..\..\src\xrc\xh_frame.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_frame.cpp
+
 $(OBJS)\monodll_xh_gauge.obj: ..\..\src\xrc\xh_gauge.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_gauge.cpp
 
@@ -6425,6 +6429,9 @@ $(OBJS)\monodll_xh_listbk.obj: ..\..\src\xrc\xh_listbk.cpp
 $(OBJS)\monodll_xh_listc.obj: ..\..\src\xrc\xh_listc.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_listc.cpp
 
+$(OBJS)\monodll_xh_mdi.obj: ..\..\src\xrc\xh_mdi.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_mdi.cpp
+
 $(OBJS)\monodll_xh_menu.obj: ..\..\src\xrc\xh_menu.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_menu.cpp
 
@@ -8620,11 +8627,8 @@ $(OBJS)\monolib_xh_dirpicker.obj: ..\..\src\xrc\xh_dirpicker.cpp
 $(OBJS)\monolib_xh_dlg.obj: ..\..\src\xrc\xh_dlg.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_dlg.cpp
 
-$(OBJS)\monolib_xh_frame.obj: ..\..\src\xrc\xh_frame.cpp
-	$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_frame.cpp
-
-$(OBJS)\monolib_xh_mdi.obj: ..\..\src\xrc\xh_mdi.cpp
-	$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_mdi.cpp
+$(OBJS)\monolib_xh_editlbox.obj: ..\..\src\xrc\xh_editlbox.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_editlbox.cpp
 
 $(OBJS)\monolib_xh_filepicker.obj: ..\..\src\xrc\xh_filepicker.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_filepicker.cpp
@@ -8632,6 +8636,9 @@ $(OBJS)\monolib_xh_filepicker.obj: ..\..\src\xrc\xh_filepicker.cpp
 $(OBJS)\monolib_xh_fontpicker.obj: ..\..\src\xrc\xh_fontpicker.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_fontpicker.cpp
 
+$(OBJS)\monolib_xh_frame.obj: ..\..\src\xrc\xh_frame.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_frame.cpp
+
 $(OBJS)\monolib_xh_gauge.obj: ..\..\src\xrc\xh_gauge.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_gauge.cpp
 
@@ -8656,6 +8663,9 @@ $(OBJS)\monolib_xh_listbk.obj: ..\..\src\xrc\xh_listbk.cpp
 $(OBJS)\monolib_xh_listc.obj: ..\..\src\xrc\xh_listc.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_listc.cpp
 
+$(OBJS)\monolib_xh_mdi.obj: ..\..\src\xrc\xh_mdi.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_mdi.cpp
+
 $(OBJS)\monolib_xh_menu.obj: ..\..\src\xrc\xh_menu.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_menu.cpp
 
@@ -14204,11 +14214,8 @@ $(OBJS)\xrcdll_xh_dirpicker.obj: ..\..\src\xrc\xh_dirpicker.cpp
 $(OBJS)\xrcdll_xh_dlg.obj: ..\..\src\xrc\xh_dlg.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_dlg.cpp
 
-$(OBJS)\xrcdll_xh_frame.obj: ..\..\src\xrc\xh_frame.cpp
-	$(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_frame.cpp
-
-$(OBJS)\xrcdll_xh_mdi.obj: ..\..\src\xrc\xh_mdi.cpp
-	$(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_mdi.cpp
+$(OBJS)\xrcdll_xh_editlbox.obj: ..\..\src\xrc\xh_editlbox.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_editlbox.cpp
 
 $(OBJS)\xrcdll_xh_filepicker.obj: ..\..\src\xrc\xh_filepicker.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_filepicker.cpp
@@ -14216,6 +14223,9 @@ $(OBJS)\xrcdll_xh_filepicker.obj: ..\..\src\xrc\xh_filepicker.cpp
 $(OBJS)\xrcdll_xh_fontpicker.obj: ..\..\src\xrc\xh_fontpicker.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_fontpicker.cpp
 
+$(OBJS)\xrcdll_xh_frame.obj: ..\..\src\xrc\xh_frame.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_frame.cpp
+
 $(OBJS)\xrcdll_xh_gauge.obj: ..\..\src\xrc\xh_gauge.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_gauge.cpp
 
@@ -14240,6 +14250,9 @@ $(OBJS)\xrcdll_xh_listbk.obj: ..\..\src\xrc\xh_listbk.cpp
 $(OBJS)\xrcdll_xh_listc.obj: ..\..\src\xrc\xh_listc.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_listc.cpp
 
+$(OBJS)\xrcdll_xh_mdi.obj: ..\..\src\xrc\xh_mdi.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_mdi.cpp
+
 $(OBJS)\xrcdll_xh_menu.obj: ..\..\src\xrc\xh_menu.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_menu.cpp
 
@@ -14384,11 +14397,8 @@ $(OBJS)\xrclib_xh_dirpicker.obj: ..\..\src\xrc\xh_dirpicker.cpp
 $(OBJS)\xrclib_xh_dlg.obj: ..\..\src\xrc\xh_dlg.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_dlg.cpp
 
-$(OBJS)\xrclib_xh_frame.obj: ..\..\src\xrc\xh_frame.cpp
-	$(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_frame.cpp
-
-$(OBJS)\xrclib_xh_mdi.obj: ..\..\src\xrc\xh_mdi.cpp
-	$(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_mdi.cpp
+$(OBJS)\xrclib_xh_editlbox.obj: ..\..\src\xrc\xh_editlbox.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_editlbox.cpp
 
 $(OBJS)\xrclib_xh_filepicker.obj: ..\..\src\xrc\xh_filepicker.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_filepicker.cpp
@@ -14396,6 +14406,9 @@ $(OBJS)\xrclib_xh_filepicker.obj: ..\..\src\xrc\xh_filepicker.cpp
 $(OBJS)\xrclib_xh_fontpicker.obj: ..\..\src\xrc\xh_fontpicker.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_fontpicker.cpp
 
+$(OBJS)\xrclib_xh_frame.obj: ..\..\src\xrc\xh_frame.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_frame.cpp
+
 $(OBJS)\xrclib_xh_gauge.obj: ..\..\src\xrc\xh_gauge.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_gauge.cpp
 
@@ -14420,6 +14433,9 @@ $(OBJS)\xrclib_xh_listbk.obj: ..\..\src\xrc\xh_listbk.cpp
 $(OBJS)\xrclib_xh_listc.obj: ..\..\src\xrc\xh_listc.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_listc.cpp
 
+$(OBJS)\xrclib_xh_mdi.obj: ..\..\src\xrc\xh_mdi.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_mdi.cpp
+
 $(OBJS)\xrclib_xh_menu.obj: ..\..\src\xrc\xh_menu.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_menu.cpp
 
diff --git a/build/msw/makefile.wat b/build/msw/makefile.wat
index 3f859e9238..f1de3f23ae 100644
--- a/build/msw/makefile.wat
+++ b/build/msw/makefile.wat
@@ -151,10 +151,10 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS =  &
 	$(OBJS)\monodll_xh_datectrl.obj &
 	$(OBJS)\monodll_xh_dirpicker.obj &
 	$(OBJS)\monodll_xh_dlg.obj &
-	$(OBJS)\monodll_xh_frame.obj &
-	$(OBJS)\monodll_xh_mdi.obj &
+	$(OBJS)\monodll_xh_editlbox.obj &
 	$(OBJS)\monodll_xh_filepicker.obj &
 	$(OBJS)\monodll_xh_fontpicker.obj &
+	$(OBJS)\monodll_xh_frame.obj &
 	$(OBJS)\monodll_xh_gauge.obj &
 	$(OBJS)\monodll_xh_gdctl.obj &
 	$(OBJS)\monodll_xh_grid.obj &
@@ -163,6 +163,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS =  &
 	$(OBJS)\monodll_xh_listb.obj &
 	$(OBJS)\monodll_xh_listbk.obj &
 	$(OBJS)\monodll_xh_listc.obj &
+	$(OBJS)\monodll_xh_mdi.obj &
 	$(OBJS)\monodll_xh_menu.obj &
 	$(OBJS)\monodll_xh_notbk.obj &
 	$(OBJS)\monodll_xh_odcombo.obj &
@@ -846,10 +847,10 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS =  &
 	$(OBJS)\monolib_xh_datectrl.obj &
 	$(OBJS)\monolib_xh_dirpicker.obj &
 	$(OBJS)\monolib_xh_dlg.obj &
-	$(OBJS)\monolib_xh_frame.obj &
-	$(OBJS)\monolib_xh_mdi.obj &
+	$(OBJS)\monolib_xh_editlbox.obj &
 	$(OBJS)\monolib_xh_filepicker.obj &
 	$(OBJS)\monolib_xh_fontpicker.obj &
+	$(OBJS)\monolib_xh_frame.obj &
 	$(OBJS)\monolib_xh_gauge.obj &
 	$(OBJS)\monolib_xh_gdctl.obj &
 	$(OBJS)\monolib_xh_grid.obj &
@@ -858,6 +859,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS =  &
 	$(OBJS)\monolib_xh_listb.obj &
 	$(OBJS)\monolib_xh_listbk.obj &
 	$(OBJS)\monolib_xh_listc.obj &
+	$(OBJS)\monolib_xh_mdi.obj &
 	$(OBJS)\monolib_xh_menu.obj &
 	$(OBJS)\monolib_xh_notbk.obj &
 	$(OBJS)\monolib_xh_odcombo.obj &
@@ -4204,10 +4206,10 @@ XRCDLL_OBJECTS =  &
 	$(OBJS)\xrcdll_xh_datectrl.obj &
 	$(OBJS)\xrcdll_xh_dirpicker.obj &
 	$(OBJS)\xrcdll_xh_dlg.obj &
-	$(OBJS)\xrcdll_xh_frame.obj &
-	$(OBJS)\xrcdll_xh_mdi.obj &
+	$(OBJS)\xrcdll_xh_editlbox.obj &
 	$(OBJS)\xrcdll_xh_filepicker.obj &
 	$(OBJS)\xrcdll_xh_fontpicker.obj &
+	$(OBJS)\xrcdll_xh_frame.obj &
 	$(OBJS)\xrcdll_xh_gauge.obj &
 	$(OBJS)\xrcdll_xh_gdctl.obj &
 	$(OBJS)\xrcdll_xh_grid.obj &
@@ -4216,6 +4218,7 @@ XRCDLL_OBJECTS =  &
 	$(OBJS)\xrcdll_xh_listb.obj &
 	$(OBJS)\xrcdll_xh_listbk.obj &
 	$(OBJS)\xrcdll_xh_listc.obj &
+	$(OBJS)\xrcdll_xh_mdi.obj &
 	$(OBJS)\xrcdll_xh_menu.obj &
 	$(OBJS)\xrcdll_xh_notbk.obj &
 	$(OBJS)\xrcdll_xh_odcombo.obj &
@@ -4273,10 +4276,10 @@ XRCLIB_OBJECTS =  &
 	$(OBJS)\xrclib_xh_datectrl.obj &
 	$(OBJS)\xrclib_xh_dirpicker.obj &
 	$(OBJS)\xrclib_xh_dlg.obj &
-	$(OBJS)\xrclib_xh_frame.obj &
-	$(OBJS)\xrclib_xh_mdi.obj &
+	$(OBJS)\xrclib_xh_editlbox.obj &
 	$(OBJS)\xrclib_xh_filepicker.obj &
 	$(OBJS)\xrclib_xh_fontpicker.obj &
+	$(OBJS)\xrclib_xh_frame.obj &
 	$(OBJS)\xrclib_xh_gauge.obj &
 	$(OBJS)\xrclib_xh_gdctl.obj &
 	$(OBJS)\xrclib_xh_grid.obj &
@@ -4285,6 +4288,7 @@ XRCLIB_OBJECTS =  &
 	$(OBJS)\xrclib_xh_listb.obj &
 	$(OBJS)\xrclib_xh_listbk.obj &
 	$(OBJS)\xrclib_xh_listc.obj &
+	$(OBJS)\xrclib_xh_mdi.obj &
 	$(OBJS)\xrclib_xh_menu.obj &
 	$(OBJS)\xrclib_xh_notbk.obj &
 	$(OBJS)\xrclib_xh_odcombo.obj &
@@ -6444,10 +6448,7 @@ $(OBJS)\monodll_xh_dirpicker.obj :  .AUTODEPEND ..\..\src\xrc\xh_dirpicker.cpp
 $(OBJS)\monodll_xh_dlg.obj :  .AUTODEPEND ..\..\src\xrc\xh_dlg.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
 
-$(OBJS)\monodll_xh_frame.obj :  .AUTODEPEND ..\..\src\xrc\xh_frame.cpp
-	$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
-
-$(OBJS)\monodll_xh_mdi.obj :  .AUTODEPEND ..\..\src\xrc\xh_mdi.cpp
+$(OBJS)\monodll_xh_editlbox.obj :  .AUTODEPEND ..\..\src\xrc\xh_editlbox.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
 
 $(OBJS)\monodll_xh_filepicker.obj :  .AUTODEPEND ..\..\src\xrc\xh_filepicker.cpp
@@ -6456,6 +6457,9 @@ $(OBJS)\monodll_xh_filepicker.obj :  .AUTODEPEND ..\..\src\xrc\xh_filepicker.cpp
 $(OBJS)\monodll_xh_fontpicker.obj :  .AUTODEPEND ..\..\src\xrc\xh_fontpicker.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
 
+$(OBJS)\monodll_xh_frame.obj :  .AUTODEPEND ..\..\src\xrc\xh_frame.cpp
+	$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
+
 $(OBJS)\monodll_xh_gauge.obj :  .AUTODEPEND ..\..\src\xrc\xh_gauge.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
 
@@ -6480,6 +6484,9 @@ $(OBJS)\monodll_xh_listbk.obj :  .AUTODEPEND ..\..\src\xrc\xh_listbk.cpp
 $(OBJS)\monodll_xh_listc.obj :  .AUTODEPEND ..\..\src\xrc\xh_listc.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
 
+$(OBJS)\monodll_xh_mdi.obj :  .AUTODEPEND ..\..\src\xrc\xh_mdi.cpp
+	$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
+
 $(OBJS)\monodll_xh_menu.obj :  .AUTODEPEND ..\..\src\xrc\xh_menu.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
 
@@ -8787,10 +8794,7 @@ $(OBJS)\monolib_xh_dirpicker.obj :  .AUTODEPEND ..\..\src\xrc\xh_dirpicker.cpp
 $(OBJS)\monolib_xh_dlg.obj :  .AUTODEPEND ..\..\src\xrc\xh_dlg.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
 
-$(OBJS)\monolib_xh_frame.obj :  .AUTODEPEND ..\..\src\xrc\xh_frame.cpp
-	$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
-
-$(OBJS)\monolib_xh_mdi.obj :  .AUTODEPEND ..\..\src\xrc\xh_mdi.cpp
+$(OBJS)\monolib_xh_editlbox.obj :  .AUTODEPEND ..\..\src\xrc\xh_editlbox.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
 
 $(OBJS)\monolib_xh_filepicker.obj :  .AUTODEPEND ..\..\src\xrc\xh_filepicker.cpp
@@ -8799,6 +8803,9 @@ $(OBJS)\monolib_xh_filepicker.obj :  .AUTODEPEND ..\..\src\xrc\xh_filepicker.cpp
 $(OBJS)\monolib_xh_fontpicker.obj :  .AUTODEPEND ..\..\src\xrc\xh_fontpicker.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
 
+$(OBJS)\monolib_xh_frame.obj :  .AUTODEPEND ..\..\src\xrc\xh_frame.cpp
+	$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
+
 $(OBJS)\monolib_xh_gauge.obj :  .AUTODEPEND ..\..\src\xrc\xh_gauge.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
 
@@ -8823,6 +8830,9 @@ $(OBJS)\monolib_xh_listbk.obj :  .AUTODEPEND ..\..\src\xrc\xh_listbk.cpp
 $(OBJS)\monolib_xh_listc.obj :  .AUTODEPEND ..\..\src\xrc\xh_listc.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
 
+$(OBJS)\monolib_xh_mdi.obj :  .AUTODEPEND ..\..\src\xrc\xh_mdi.cpp
+	$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
+
 $(OBJS)\monolib_xh_menu.obj :  .AUTODEPEND ..\..\src\xrc\xh_menu.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
 
@@ -14707,10 +14717,7 @@ $(OBJS)\xrcdll_xh_dirpicker.obj :  .AUTODEPEND ..\..\src\xrc\xh_dirpicker.cpp
 $(OBJS)\xrcdll_xh_dlg.obj :  .AUTODEPEND ..\..\src\xrc\xh_dlg.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(XRCDLL_CXXFLAGS) $<
 
-$(OBJS)\xrcdll_xh_frame.obj :  .AUTODEPEND ..\..\src\xrc\xh_frame.cpp
-	$(CXX) -bt=nt -zq -fo=$^@ $(XRCDLL_CXXFLAGS) $<
-
-$(OBJS)\xrcdll_xh_mdi.obj :  .AUTODEPEND ..\..\src\xrc\xh_mdi.cpp
+$(OBJS)\xrcdll_xh_editlbox.obj :  .AUTODEPEND ..\..\src\xrc\xh_editlbox.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(XRCDLL_CXXFLAGS) $<
 
 $(OBJS)\xrcdll_xh_filepicker.obj :  .AUTODEPEND ..\..\src\xrc\xh_filepicker.cpp
@@ -14719,6 +14726,9 @@ $(OBJS)\xrcdll_xh_filepicker.obj :  .AUTODEPEND ..\..\src\xrc\xh_filepicker.cpp
 $(OBJS)\xrcdll_xh_fontpicker.obj :  .AUTODEPEND ..\..\src\xrc\xh_fontpicker.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(XRCDLL_CXXFLAGS) $<
 
+$(OBJS)\xrcdll_xh_frame.obj :  .AUTODEPEND ..\..\src\xrc\xh_frame.cpp
+	$(CXX) -bt=nt -zq -fo=$^@ $(XRCDLL_CXXFLAGS) $<
+
 $(OBJS)\xrcdll_xh_gauge.obj :  .AUTODEPEND ..\..\src\xrc\xh_gauge.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(XRCDLL_CXXFLAGS) $<
 
@@ -14743,6 +14753,9 @@ $(OBJS)\xrcdll_xh_listbk.obj :  .AUTODEPEND ..\..\src\xrc\xh_listbk.cpp
 $(OBJS)\xrcdll_xh_listc.obj :  .AUTODEPEND ..\..\src\xrc\xh_listc.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(XRCDLL_CXXFLAGS) $<
 
+$(OBJS)\xrcdll_xh_mdi.obj :  .AUTODEPEND ..\..\src\xrc\xh_mdi.cpp
+	$(CXX) -bt=nt -zq -fo=$^@ $(XRCDLL_CXXFLAGS) $<
+
 $(OBJS)\xrcdll_xh_menu.obj :  .AUTODEPEND ..\..\src\xrc\xh_menu.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(XRCDLL_CXXFLAGS) $<
 
@@ -14887,10 +14900,7 @@ $(OBJS)\xrclib_xh_dirpicker.obj :  .AUTODEPEND ..\..\src\xrc\xh_dirpicker.cpp
 $(OBJS)\xrclib_xh_dlg.obj :  .AUTODEPEND ..\..\src\xrc\xh_dlg.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(XRCLIB_CXXFLAGS) $<
 
-$(OBJS)\xrclib_xh_frame.obj :  .AUTODEPEND ..\..\src\xrc\xh_frame.cpp
-	$(CXX) -bt=nt -zq -fo=$^@ $(XRCLIB_CXXFLAGS) $<
-
-$(OBJS)\xrclib_xh_mdi.obj :  .AUTODEPEND ..\..\src\xrc\xh_mdi.cpp
+$(OBJS)\xrclib_xh_editlbox.obj :  .AUTODEPEND ..\..\src\xrc\xh_editlbox.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(XRCLIB_CXXFLAGS) $<
 
 $(OBJS)\xrclib_xh_filepicker.obj :  .AUTODEPEND ..\..\src\xrc\xh_filepicker.cpp
@@ -14899,6 +14909,9 @@ $(OBJS)\xrclib_xh_filepicker.obj :  .AUTODEPEND ..\..\src\xrc\xh_filepicker.cpp
 $(OBJS)\xrclib_xh_fontpicker.obj :  .AUTODEPEND ..\..\src\xrc\xh_fontpicker.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(XRCLIB_CXXFLAGS) $<
 
+$(OBJS)\xrclib_xh_frame.obj :  .AUTODEPEND ..\..\src\xrc\xh_frame.cpp
+	$(CXX) -bt=nt -zq -fo=$^@ $(XRCLIB_CXXFLAGS) $<
+
 $(OBJS)\xrclib_xh_gauge.obj :  .AUTODEPEND ..\..\src\xrc\xh_gauge.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(XRCLIB_CXXFLAGS) $<
 
@@ -14923,6 +14936,9 @@ $(OBJS)\xrclib_xh_listbk.obj :  .AUTODEPEND ..\..\src\xrc\xh_listbk.cpp
 $(OBJS)\xrclib_xh_listc.obj :  .AUTODEPEND ..\..\src\xrc\xh_listc.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(XRCLIB_CXXFLAGS) $<
 
+$(OBJS)\xrclib_xh_mdi.obj :  .AUTODEPEND ..\..\src\xrc\xh_mdi.cpp
+	$(CXX) -bt=nt -zq -fo=$^@ $(XRCLIB_CXXFLAGS) $<
+
 $(OBJS)\xrclib_xh_menu.obj :  .AUTODEPEND ..\..\src\xrc\xh_menu.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(XRCLIB_CXXFLAGS) $<
 
diff --git a/build/msw/wx_core.dsp b/build/msw/wx_core.dsp
index 8585c345f1..207f62e8e4 100644
--- a/build/msw/wx_core.dsp
+++ b/build/msw/wx_core.dsp
@@ -6463,6 +6463,10 @@ SOURCE=..\..\include\wx\textentry.h
 # End Source File
 # Begin Source File
 
+SOURCE=..\..\include\wx\textwrapper.h
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\include\wx\tglbtn.h
 # End Source File
 # Begin Source File
@@ -6639,6 +6643,10 @@ SOURCE=..\..\include\wx\xrc\xh_dlg.h
 # End Source File
 # Begin Source File
 
+SOURCE=..\..\include\wx\xrc\xh_editlbox.h
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\include\wx\xrc\xh_filepicker.h
 # End Source File
 # Begin Source File
diff --git a/build/msw/wx_vc7_core.vcproj b/build/msw/wx_vc7_core.vcproj
index 9cdfc43902..4ed4be8f38 100644
--- a/build/msw/wx_vc7_core.vcproj
+++ b/build/msw/wx_vc7_core.vcproj
@@ -5460,6 +5460,9 @@
 			<File
 				RelativePath="..\..\include\wx\textentry.h">
 			</File>
+			<File
+				RelativePath="..\..\include\wx\textwrapper.h">
+			</File>
 			<File
 				RelativePath="..\..\include\wx\tglbtn.h">
 			</File>
@@ -5592,6 +5595,9 @@
 			<File
 				RelativePath="..\..\include\wx\xrc\xh_dlg.h">
 			</File>
+			<File
+				RelativePath="..\..\include\wx\xrc\xh_editlbox.h">
+			</File>
 			<File
 				RelativePath="..\..\include\wx\xrc\xh_filepicker.h">
 			</File>
diff --git a/build/msw/wx_vc7_xrc.vcproj b/build/msw/wx_vc7_xrc.vcproj
index 496d84559d..5e5945e002 100644
--- a/build/msw/wx_vc7_xrc.vcproj
+++ b/build/msw/wx_vc7_xrc.vcproj
@@ -829,6 +829,9 @@
 			<File
 				RelativePath="..\..\include\wx\xrc\xh_dlg.h">
 			</File>
+			<File
+				RelativePath="..\..\include\wx\xrc\xh_editlbox.h">
+			</File>
 			<File
 				RelativePath="..\..\include\wx\xrc\xh_filepicker.h">
 			</File>
@@ -1005,6 +1008,9 @@
 			<File
 				RelativePath="..\..\src\xrc\xh_dlg.cpp">
 			</File>
+			<File
+				RelativePath="..\..\src\xrc\xh_editlbox.cpp">
+			</File>
 			<File
 				RelativePath="..\..\src\xrc\xh_filepicker.cpp">
 			</File>
diff --git a/build/msw/wx_vc8_core.vcproj b/build/msw/wx_vc8_core.vcproj
index 09a38d462b..06b2ef49f3 100644
--- a/build/msw/wx_vc8_core.vcproj
+++ b/build/msw/wx_vc8_core.vcproj
@@ -7299,6 +7299,10 @@
 				RelativePath="..\..\include\wx\textentry.h"
 				>
 			</File>
+			<File
+				RelativePath="..\..\include\wx\textwrapper.h"
+				>
+			</File>
 			<File
 				RelativePath="..\..\include\wx\tglbtn.h"
 				>
@@ -7475,6 +7479,10 @@
 				RelativePath="..\..\include\wx\xrc\xh_dlg.h"
 				>
 			</File>
+			<File
+				RelativePath="..\..\include\wx\xrc\xh_editlbox.h"
+				>
+			</File>
 			<File
 				RelativePath="..\..\include\wx\xrc\xh_filepicker.h"
 				>
diff --git a/build/msw/wx_vc8_xrc.vcproj b/build/msw/wx_vc8_xrc.vcproj
index 6b49c9c918..5fe153b5fe 100644
--- a/build/msw/wx_vc8_xrc.vcproj
+++ b/build/msw/wx_vc8_xrc.vcproj
@@ -1126,6 +1126,10 @@
 				RelativePath="..\..\include\wx\xrc\xh_dlg.h"
 				>
 			</File>
+			<File
+				RelativePath="..\..\include\wx\xrc\xh_editlbox.h"
+				>
+			</File>
 			<File
 				RelativePath="..\..\include\wx\xrc\xh_filepicker.h"
 				>
@@ -1360,6 +1364,10 @@
 				RelativePath="..\..\src\xrc\xh_dlg.cpp"
 				>
 			</File>
+			<File
+				RelativePath="..\..\src\xrc\xh_editlbox.cpp"
+				>
+			</File>
 			<File
 				RelativePath="..\..\src\xrc\xh_filepicker.cpp"
 				>
diff --git a/build/msw/wx_vc9_core.vcproj b/build/msw/wx_vc9_core.vcproj
index e402c35a3d..b5fee91993 100644
--- a/build/msw/wx_vc9_core.vcproj
+++ b/build/msw/wx_vc9_core.vcproj
@@ -7295,6 +7295,10 @@
 				RelativePath="..\..\include\wx\textentry.h"
 				>
 			</File>
+			<File
+				RelativePath="..\..\include\wx\textwrapper.h"
+				>
+			</File>
 			<File
 				RelativePath="..\..\include\wx\tglbtn.h"
 				>
@@ -7471,6 +7475,10 @@
 				RelativePath="..\..\include\wx\xrc\xh_dlg.h"
 				>
 			</File>
+			<File
+				RelativePath="..\..\include\wx\xrc\xh_editlbox.h"
+				>
+			</File>
 			<File
 				RelativePath="..\..\include\wx\xrc\xh_filepicker.h"
 				>
diff --git a/build/msw/wx_vc9_xrc.vcproj b/build/msw/wx_vc9_xrc.vcproj
index b22d738d7a..b35c52c43d 100644
--- a/build/msw/wx_vc9_xrc.vcproj
+++ b/build/msw/wx_vc9_xrc.vcproj
@@ -1122,6 +1122,10 @@
 				RelativePath="..\..\include\wx\xrc\xh_dlg.h"
 				>
 			</File>
+			<File
+				RelativePath="..\..\include\wx\xrc\xh_editlbox.h"
+				>
+			</File>
 			<File
 				RelativePath="..\..\include\wx\xrc\xh_filepicker.h"
 				>
@@ -1356,6 +1360,10 @@
 				RelativePath="..\..\src\xrc\xh_dlg.cpp"
 				>
 			</File>
+			<File
+				RelativePath="..\..\src\xrc\xh_editlbox.cpp"
+				>
+			</File>
 			<File
 				RelativePath="..\..\src\xrc\xh_filepicker.cpp"
 				>
diff --git a/build/msw/wx_xrc.dsp b/build/msw/wx_xrc.dsp
index 0b3f6186b8..256babdaa5 100644
--- a/build/msw/wx_xrc.dsp
+++ b/build/msw/wx_xrc.dsp
@@ -602,6 +602,10 @@ SOURCE=..\..\include\wx\xrc\xh_dlg.h
 # End Source File
 # Begin Source File
 
+SOURCE=..\..\include\wx\xrc\xh_editlbox.h
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\include\wx\xrc\xh_filepicker.h
 # End Source File
 # Begin Source File
@@ -834,6 +838,10 @@ SOURCE=..\..\src\xrc\xh_dlg.cpp
 # End Source File
 # Begin Source File
 
+SOURCE=..\..\src\xrc\xh_editlbox.cpp
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\src\xrc\xh_filepicker.cpp
 # End Source File
 # Begin Source File
diff --git a/docs/changes.txt b/docs/changes.txt
index 9e39bcc2af..f10176d061 100644
--- a/docs/changes.txt
+++ b/docs/changes.txt
@@ -336,6 +336,7 @@ All (GUI):
 
 - wxWindow::SetAutoLayout() now works for all windows, not just panels.
 - Support wxListCtrl columns, items and image lists in XRC (Kinaou Hervé).
+- Added wxEditableListBox XRC handler.
 - wxGrid: add possibility to prevent resizing of individual rows/columns.
 - wxHTML: add support for table borders width (Laurent Humbertclaude).
 - Added wxMouseEventsManager.
diff --git a/include/wx/xrc/xh_all.h b/include/wx/xrc/xh_all.h
index 212c01a133..cd917b9316 100644
--- a/include/wx/xrc/xh_all.h
+++ b/include/wx/xrc/xh_all.h
@@ -31,6 +31,7 @@
 #include "wx/xrc/xh_datectrl.h"
 #include "wx/xrc/xh_dirpicker.h"
 #include "wx/xrc/xh_dlg.h"
+#include "wx/xrc/xh_editlbox.h"
 #include "wx/xrc/xh_filepicker.h"
 #include "wx/xrc/xh_fontpicker.h"
 #include "wx/xrc/xh_frame.h"
diff --git a/include/wx/xrc/xh_editlbox.h b/include/wx/xrc/xh_editlbox.h
new file mode 100644
index 0000000000..ac7b5e7429
--- /dev/null
+++ b/include/wx/xrc/xh_editlbox.h
@@ -0,0 +1,40 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/xrc/xh_editlbox.h
+// Purpose:     declaration of wxEditableListBox XRC handler
+// Author:      Vadim Zeitlin
+// Created:     2009-06-04
+// RCS-ID:      $Id$
+// Copyright:   (c) 2009 Vadim Zeitlin <vadim@wxwidgets.org>
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_XRC_XH_EDITLBOX_H_
+#define _WX_XRC_XH_EDITLBOX_H_
+
+#include "wx/xrc/xmlres.h"
+
+#if wxUSE_XRC && wxUSE_EDITABLELISTBOX
+
+// ----------------------------------------------------------------------------
+// wxEditableListBoxXmlHandler: XRC handler for wxEditableListBox
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_XRC wxEditableListBoxXmlHandler : public wxXmlResourceHandler
+{
+public:
+    wxEditableListBoxXmlHandler();
+
+    virtual wxObject *DoCreateResource();
+    virtual bool CanHandle(wxXmlNode *node);
+
+private:
+    bool m_insideBox;
+    wxArrayString m_items;
+
+    DECLARE_DYNAMIC_CLASS(wxEditableListBoxXmlHandler)
+};
+
+#endif // wxUSE_XRC && wxUSE_EDITABLELISTBOX
+
+#endif // _WX_XRC_XH_EDITLBOX_H_
+
diff --git a/src/xrc/xh_editlbox.cpp b/src/xrc/xh_editlbox.cpp
new file mode 100644
index 0000000000..70246cc51b
--- /dev/null
+++ b/src/xrc/xh_editlbox.cpp
@@ -0,0 +1,122 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        src/xrc/xh_editlbox.cpp
+// Purpose:     implementation of wxEditableListBox XRC handler
+// Author:      Vadim Zeitlin
+// Created:     2009-06-04
+// RCS-ID:      $Id$
+// Copyright:   (c) 2009 Vadim Zeitlin <vadim@wxwidgets.org>
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+// for compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#if wxUSE_XRC && wxUSE_EDITABLELISTBOX
+
+#ifndef WX_PRECOMP
+    #include "wx/intl.h"
+#endif // WX_PRECOMP
+
+#include "wx/editlbox.h"
+#include "wx/xrc/xh_editlbox.h"
+
+// ----------------------------------------------------------------------------
+// constants
+// ----------------------------------------------------------------------------
+
+namespace
+{
+
+const char * const EDITLBOX_CLASS_NAME = "wxEditableListBox";
+const char * const EDITLBOX_ITEM_NAME = "item";
+
+} // anonymous namespace
+
+// ============================================================================
+// implementation
+// ============================================================================
+
+IMPLEMENT_DYNAMIC_CLASS(wxEditableListBoxXmlHandler, wxXmlResourceHandler)
+
+wxEditableListBoxXmlHandler::wxEditableListBoxXmlHandler()
+{
+    m_insideBox = false;
+
+    XRC_ADD_STYLE(wxEL_ALLOW_NEW);
+    XRC_ADD_STYLE(wxEL_ALLOW_EDIT);
+    XRC_ADD_STYLE(wxEL_ALLOW_DELETE);
+    XRC_ADD_STYLE(wxEL_NO_REORDER);
+
+    AddWindowStyles();
+}
+
+wxObject *wxEditableListBoxXmlHandler::DoCreateResource()
+{
+    if ( m_class == EDITLBOX_CLASS_NAME )
+    {
+        // create the control itself
+        XRC_MAKE_INSTANCE(control, wxEditableListBox)
+
+        control->Create
+                 (
+                      m_parentAsWindow,
+                      GetID(),
+                      GetText("label"),
+                      GetPosition(),
+                      GetSize(),
+                      GetStyle(),
+                      GetName()
+                 );
+
+        SetupWindow(control);
+
+        // if any items are given, add them to the control
+        wxXmlNode * const contents = GetParamNode("content");
+        if ( contents )
+        {
+            m_insideBox = true;
+            CreateChildrenPrivately(NULL, contents);
+            m_insideBox = false;
+
+            control->SetStrings(m_items);
+            m_items.clear();
+        }
+
+        return control;
+    }
+    else if ( m_insideBox && m_node->GetName() == EDITLBOX_ITEM_NAME )
+    {
+        wxString str = GetNodeContent(m_node);
+        if ( m_resource->GetFlags() & wxXRC_USE_LOCALE )
+            str = wxGetTranslation(str, m_resource->GetDomain());
+        m_items.push_back(str);
+
+        return NULL;
+    }
+    else
+    {
+        ReportError("Unexpected node inside wxEditableListBox");
+        return NULL;
+    }
+}
+
+bool wxEditableListBoxXmlHandler::CanHandle(wxXmlNode *node)
+{
+    return IsOfClass(node, EDITLBOX_CLASS_NAME) ||
+                (m_insideBox && node->GetName() == EDITLBOX_ITEM_NAME);
+}
+
+
+#endif // wxUSE_XRC && wxUSE_EDITABLELISTBOX
diff --git a/src/xrc/xmlrsall.cpp b/src/xrc/xmlrsall.cpp
index 87a23ea384..3637dff786 100644
--- a/src/xrc/xmlrsall.cpp
+++ b/src/xrc/xmlrsall.cpp
@@ -87,6 +87,9 @@ void wxXmlResource::InitAllHandlers()
 #if wxUSE_DIRPICKERCTRL
     AddHandler(new wxDirPickerCtrlXmlHandler);
 #endif
+#if wxUSE_EDITABLELISTBOX
+    AddHandler(new wxEditableListBoxXmlHandler);
+#endif
 #if wxUSE_FILEPICKERCTRL
     AddHandler(new wxFilePickerCtrlXmlHandler);
 #endif
-- 
2.45.2