]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/tbar95.cpp
Applied patch [ 1701723 ] wxAUI: Added event for doubleclicks on the tabbar bg
[wxWidgets.git] / src / msw / tbar95.cpp
index 2a9a61007e81571d1c508e798d6bf234d7222898..7966a6cd196f389d3f73cb1c0d42dd81a68b4332 100644 (file)
@@ -303,8 +303,10 @@ bool wxToolBar::MSWCreateToolbar(const wxPoint& pos, const wxSize& size)
     // toolbar-specific post initialisation
     ::SendMessage(GetHwnd(), TB_BUTTONSTRUCTSIZE, sizeof(TBBUTTON), 0);
 
+#ifdef TB_SETEXTENDEDSTYLE
     if ( wxApp::GetComCtl32Version() >= 471 )
         ::SendMessage(GetHwnd(), TB_SETEXTENDEDSTYLE, 0, TBSTYLE_EX_DRAWDDARROWS);
+#endif
 
     return true;
 }
@@ -403,8 +405,16 @@ wxSize wxToolBar::DoGetBestSize() const
         sizeBest.y = size.cy;
     }
 
-    if (!IsVertical() && !(GetWindowStyle() & wxTB_NODIVIDER))
-        sizeBest.y += 1;
+    if (!IsVertical())
+    {
+        // Without the extra height, DoGetBestSize can report a size that's
+        // smaller than the actual window, causing windows to overlap slightly
+        // in some circumstances, leading to missing borders (especially noticeable
+        // in AUI layouts).
+        if (!(GetWindowStyle() & wxTB_NODIVIDER))
+            sizeBest.y += 2;
+        sizeBest.y ++;
+       }
 
     CacheBestSize(sizeBest);
 
@@ -930,7 +940,7 @@ bool wxToolBar::Realize()
                                 DoToggleTool(tool, true);
                             }
                         }
-                        else if (tool->IsToggled())
+                        else if ( tool->IsToggled() )
                         {
                             wxToolBarToolsList::compatibility_iterator nodePrev = node->GetPrevious();
                             int prevIndex = i - 1;
@@ -944,7 +954,7 @@ bool wxToolBar::Realize()
                                 if ( tool->Toggle(false) )
                                     DoToggleTool(tool, false);
 
-                                prevButton.fsState = TBSTATE_ENABLED;
+                                prevButton.fsState &= TBSTATE_CHECKED;
                                 nodePrev = nodePrev->GetPrevious();
                                 prevIndex--;
                             }