#include "wx/textctrl.h"
 #include "wx/notebook.h"
+#include "wx/listctrl.h"
 
 #include <string.h>
 
     WX_FLAGS_MEMBER(wxBORDER_RAISED)
     WX_FLAGS_MEMBER(wxBORDER_STATIC)
     WX_FLAGS_MEMBER(wxBORDER_NONE)
-    
+
     // old style border flags
     WX_FLAGS_MEMBER(wxSIMPLE_BORDER)
     WX_FLAGS_MEMBER(wxSUNKEN_BORDER)
                 break;
             }
 
+        case WM_PRINT:
+            {
+                // Don't call the wx handlers in this case
+                if ( wxIsKindOf(this, wxListCtrl) )
+                    break;
+
+                if ( lParam & PRF_ERASEBKGND )
+                    HandleEraseBkgnd((WXHDC)(HDC)wParam);
+
+                wxPaintDCEx dc((wxWindow *)this, (WXHDC)wParam);
+                processed = HandlePaint();
+            }
+            break;
+
         case WM_CLOSE:
 #ifdef __WXUNIVERSAL__
             // Universal uses its own wxFrame/wxDialog, so we don't receive