]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/notebook.cpp
minor additions to wxCmdLineParser tests
[wxWidgets.git] / src / msw / notebook.cpp
index 707a2f1db4a94f8ce2605ca9599b08633d8f3437..379f7dea9f80933c5b672547591471f3e2505aba 100644 (file)
@@ -161,7 +161,7 @@ bool wxNotebook::Create(wxWindow *parent,
   if ( m_windowStyle & wxTC_MULTILINE )
     tabStyle |= TCS_MULTILINE;
   if ( m_windowStyle & wxBORDER )
-    tabStyle &= WS_BORDER;
+    tabStyle |= WS_BORDER;
   if (m_windowStyle & wxNB_FIXEDWIDTH)
     tabStyle |= TCS_FIXEDWIDTH ;
   if (m_windowStyle & wxNB_BOTTOM)
@@ -172,9 +172,7 @@ bool wxNotebook::Create(wxWindow *parent,
     tabStyle |= TCS_VERTICAL|TCS_RIGHT;
 
 
-  if ( !MSWCreate(GetId(), GetParent(), WC_TABCONTROL,
-                  this, NULL, pos.x, pos.y, size.x, size.y,
-                  tabStyle, NULL, 0) )
+  if ( !MSWCreateControl(WC_TABCONTROL, tabStyle, pos, size) )
   {
     return FALSE;
   }
@@ -187,8 +185,6 @@ bool wxNotebook::Create(wxWindow *parent,
   if ( parent != NULL )
     parent->AddChild(this);
 
-  SubclassWin(m_hWnd);
-
   return TRUE;
 }
 
@@ -326,7 +322,7 @@ bool wxNotebook::DeletePage(int nPage)
   TabCtrl_DeleteItem(m_hwnd, nPage);
 
   delete m_pages[nPage];
-  m_pages.Remove(nPage);
+  m_pages.RemoveAt(nPage);
 
   if ( m_pages.IsEmpty() ) {
       // no selection if the notebook became empty
@@ -342,13 +338,12 @@ bool wxNotebook::DeletePage(int nPage)
 // remove one page from the notebook, without deleting
 wxNotebookPage *wxNotebook::DoRemovePage(int nPage)
 {
-  wxCHECK_MSG( IS_VALID_PAGE(nPage), NULL, wxT("notebook page out of range") );
+  wxNotebookPage *pageRemoved = wxNotebookBase::DoRemovePage(nPage);
+  if ( !pageRemoved )
+      return NULL;
 
   TabCtrl_DeleteItem(m_hwnd, nPage);
 
-  wxNotebookPage *pageRemoved = m_pages[nPage];
-  m_pages.Remove(nPage);
-
   if ( m_pages.IsEmpty() )
     m_nSelection = -1;
   else