From: Julian Smart <julian@anthemion.co.uk>
Date: Thu, 5 Jun 2003 13:35:50 +0000 (+0000)
Subject: Disable non-standard notebook styles if CommCtl doesn't support them.
X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/04eb05b01ec530d7593e5e047665b28c232f52a3

Disable non-standard notebook styles if CommCtl doesn't support them.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20939 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---

diff --git a/docs/changes.txt b/docs/changes.txt
index d6ec6e13e8..92337016a7 100644
--- a/docs/changes.txt
+++ b/docs/changes.txt
@@ -129,6 +129,12 @@ wxMSW:
   or if user's default locale is Unicode-only
 - Improved border handling so it no longer shows a thin and
   sunken border under XP
+- partial fix for wxNotebook pages looking bad under XP: wxUSE_UXTHEME
+  enables XP theme engine code, and wxUSE_UXTHEME_AUTO tells
+  wxWindows to use the theme tab colour for control backgrounds.
+  Proper XP theme support is planned for 2.6
+- disable wxNB_RIGHT, wxNB_LEFT, wxNB_BOTTOM notebook styles
+  if the version of CommCtl doesn't support it (XP)
 
 wxMotif:
 
diff --git a/src/msw/notebook.cpp b/src/msw/notebook.cpp
index 25ff1ce8a6..dbca8ed2d2 100644
--- a/src/msw/notebook.cpp
+++ b/src/msw/notebook.cpp
@@ -32,6 +32,7 @@
 #include  "wx/event.h"
 #include  "wx/control.h"
 #include  "wx/notebook.h"
+#include  "wx/app.h"
 
 #include  "wx/msw/private.h"
 
@@ -156,7 +157,20 @@ bool wxNotebook::Create(wxWindow *parent,
                         long style,
                         const wxString& name)
 {
-    // base init
+    // Does ComCtl32 support non-top tabs?
+    int verComCtl32 = wxApp::GetComCtl32Version();
+    if ( verComCtl32 < 470 || verComCtl32 >= 600 )
+    {
+        if (style & wxNB_BOTTOM)
+            style &= ~wxNB_BOTTOM;
+        
+        if (style & wxNB_LEFT)
+            style &= ~wxNB_LEFT;
+        
+        if (style & wxNB_RIGHT)
+            style &= ~wxNB_RIGHT;
+    }
+    
     if ( !CreateControl(parent, id, pos, size, style | wxTAB_TRAVERSAL,
                         wxDefaultValidator, name) )
         return FALSE;