#if wxUSE_LISTBOOK
 
+// this can be defined to put a static line as separator between the list
+// control and the page area; but I think it finally looks better without it so
+// it is not enabled by default
+//#define wxUSE_LINE_IN_LISTBOOK 1
+
+#if !wxUSE_STATLINE
+    #undef wxUSE_LINE_IN_LISTBOOK
+    #define wxUSE_LINE_IN_LISTBOOK 0
+#endif
+
 #include "wx/bookctrl.h"
 
 class WXDLLEXPORT wxListView;
 class WXDLLEXPORT wxListEvent;
-class WXDLLEXPORT wxStaticLine;;
+
+#if wxUSE_LINE_IN_LISTBOOK
+class WXDLLEXPORT wxStaticLine;
+#endif // wxUSE_LINE_IN_LISTBOOK
 
 // ----------------------------------------------------------------------------
 // constants
     // the list control we use for showing the pages index
     wxListView *m_list;
 
+#if wxUSE_LINE_IN_LISTBOOK
     // the line separating it from the page area
     wxStaticLine *m_line;
+#endif // wxUSE_LINE_IN_LISTBOOK
 
     // the currently selected page or wxNOT_FOUND if none
     int m_selection;
 
 void wxListbook::Init()
 {
     m_list = NULL;
+#if wxUSE_LINE_IN_LISTBOOK
     m_line = NULL;
+#endif // wxUSE_LINE_IN_LISTBOOK
     m_selection = wxNOT_FOUND;
 }
 
 #endif // __WXMAC__/!__WXMAC__
     }
 
+    // no border for this control, it doesn't look nice together with
+    // wxListCtrl border
+    style &= ~wxBORDER_MASK;
+    style |= wxBORDER_NONE;
+
     if ( !wxControl::Create(parent, id, pos, size, style,
                             wxDefaultValidator, name) )
         return false;
                     wxID_LISTBOOKLISTVIEW,
                     wxDefaultPosition,
                     wxDefaultSize,
-                    wxBORDER_NONE | wxLC_ICON | wxLC_SINGLE_SEL |
+                    wxLC_ICON | wxLC_SINGLE_SEL |
                         (IsVertical() ? wxLC_ALIGN_LEFT : wxLC_ALIGN_TOP)
                  );
 
+#if wxUSE_LINE_IN_LISTBOOK
     m_line = new wxStaticLine
                  (
                     this,
                     wxDefaultSize,
                     IsVertical() ? wxLI_HORIZONTAL : wxLI_VERTICAL
                  );
+#endif // wxUSE_LINE_IN_LISTBOOK
 
     return true;
 }
     m_list->Move(posList.x, posList.y);
     m_list->SetClientSize(sizeList.x, sizeList.y);
 
+#if wxUSE_LINE_IN_LISTBOOK
     if ( m_line )
     {
         wxRect rectLine(wxPoint(0, 0), sizeClient);
 
         m_line->SetSize(rectLine);
     }
+#endif // wxUSE_LINE_IN_LISTBOOK
 
     // we should always have some selection if possible
     if ( m_selection == wxNOT_FOUND && GetPageCount() )