]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/tbar95.cpp
wxExecute may only be called from the main thread
[wxWidgets.git] / src / msw / tbar95.cpp
index 8777634b70cb8feb5e266af94240c5b1d317d1bd..b0c059dd89606e080b7070523dd90fdda0ae4911 100644 (file)
@@ -238,7 +238,7 @@ bool wxToolBar::Create(wxWindow *parent,
         return FALSE;
 
     // MSW-specific initialisation
-    if ( !MSWCreateToolbar(pos, size, style) )
+    if ( !MSWCreateToolbar(pos, size) )
         return FALSE;
 
     // set up the colors and fonts
@@ -248,11 +248,9 @@ bool wxToolBar::Create(wxWindow *parent,
     return TRUE;
 }
 
-bool wxToolBar::MSWCreateToolbar(const wxPoint& pos,
-                                 const wxSize& size,
-                                 long style)
+bool wxToolBar::MSWCreateToolbar(const wxPoint& pos, const wxSize& size)
 {
-    if ( !MSWCreateControl(TOOLBARCLASSNAME, _T(""), pos, size, style) )
+    if ( !MSWCreateControl(TOOLBARCLASSNAME, _T(""), pos, size) )
         return FALSE;
 
     // toolbar-specific post initialisation
@@ -276,7 +274,7 @@ void wxToolBar::Recreate()
 
     UnsubclassWin();
 
-    if ( !MSWCreateToolbar(pos, size, GetWindowStyle()) )
+    if ( !MSWCreateToolbar(pos, size) )
     {
         // what can we do?
         wxFAIL_MSG( _T("recreating the toolbar failed") );
@@ -472,6 +470,15 @@ bool wxToolBar::Realize()
 
     const bool isVertical = HasFlag(wxTB_VERTICAL);
 
+    // delete all old buttons, if any
+    for ( size_t pos = 0; pos < m_nButtons; pos++ )
+    {
+        if ( !::SendMessage(GetHwnd(), TB_DELETEBUTTON, 0, 0) )
+        {
+            wxLogDebug(wxT("TB_DELETEBUTTON failed"));
+        }
+    }
+
     // First, add the bitmap: we use one bitmap for all toolbar buttons
     // ----------------------------------------------------------------
 
@@ -612,15 +619,6 @@ bool wxToolBar::Realize()
 
                 bitmapId = m_nButtons;
             }
-
-            // Now delete all the buttons
-            for ( size_t pos = 0; pos < m_nButtons; pos++ )
-            {
-                if ( !::SendMessage(GetHwnd(), TB_DELETEBUTTON, 0, 0) )
-                {
-                    wxLogDebug(wxT("TB_DELETEBUTTON failed"));
-                }
-            }
         }
 
         if ( addBitmap ) // no old bitmap or we can't replace it
@@ -1197,7 +1195,7 @@ bool wxToolBar::HandleSize(WXWPARAM wParam, WXLPARAM lParam)
                 // FIXME: 6 is hardcoded separator line height...
                 //h += 6;
                 if (HasFlag(wxTB_NODIVIDER))
-                    h += 3;
+                    h += 4;
                 else
                     h += 6;
                 h *= m_maxRows;