const bool isVertical = HasFlag(wxTB_VERTICAL);
 
     bool doRemap, doRemapBg, doTransparent;
+#ifdef __WXWINCE__
+    doRemapBg = false;
+    doRemap = false;
+    doTransparent = false;
+#else
     if (wxSystemOptions::GetOptionInt(wxT("msw.remap")) == 2)
     {
         doRemapBg = doRemap = false;
         doRemapBg = !doRemap;
         doTransparent = false;
     }
+#endif
 
     // delete all old buttons, if any
     for ( size_t pos = 0; pos < m_nButtons; pos++ )
         wxMemoryDC dcAllButtons;
         wxBitmap bitmap(totalBitmapWidth, totalBitmapHeight);
         dcAllButtons.SelectObject(bitmap);
+#ifdef __WXWINCE__
+        dcAllButtons.SetBackground(wxBrush(wxColour(192,192,192)));
+#else
         if (doTransparent)
             dcAllButtons.SetBackground(*wxTRANSPARENT_BRUSH);
         else
-        dcAllButtons.SetBackground(*wxLIGHT_GREY_BRUSH);
+            dcAllButtons.SetBackground(*wxLIGHT_GREY_BRUSH);
+#endif        
         dcAllButtons.Clear();
 
         m_hBitmap = bitmap.GetHBITMAP();
         HBITMAP hBitmap = (HBITMAP)m_hBitmap;
 
+#ifndef __WXWINCE__
         if (doRemapBg)
         {
             dcAllButtons.SelectObject(wxNullBitmap);
 
             dcAllButtons.SelectObject(bitmap);
         }
+#endif
 
         // the button position
         wxCoord x = 0;
 {
     switch ( nMsg )
     {
-        case WM_SIZE:
-            if ( HandleSize(wParam, lParam) )
-                return 0;
-            break;
-
         case WM_MOUSEMOVE:
             // we don't handle mouse moves, so always pass the message to
-            // wxControl::MSWWindowProc
+            // wxControl::MSWWindowProc (HandleMouseMove just calls OnMouseEnter)
             HandleMouseMove(wParam, lParam);
             break;
 
+        case WM_SIZE:
+            if ( HandleSize(wParam, lParam) )
+                return 0;
+            break;
+
+#ifndef __WXWINCE__
         case WM_PAINT:
             if ( HandlePaint(wParam, lParam) )
                 return 0;
+#endif
     }
 
     return wxControl::MSWWindowProc(nMsg, wParam, lParam);
 
     return true;
 }
 
-bool wxToolMenuBar:Realize()
+bool wxToolMenuBar::Realize()
 {
     const size_t nTools = GetToolsCount();
     if ( nTools == 0 )
             case wxTOOL_STYLE_CONTROL:
                 button.idCommand = tool->GetId();
                 // fall through: create just a separator too
+                // TODO: controls are not yet supported on wxToolMenuBar.
 
             case wxTOOL_STYLE_SEPARATOR:
                 button.fsState = TBSTATE_ENABLED;
                     wxMemoryDC memDC;
                     wxBitmap b(16,16);
                     memDC.SelectObject(b);
-                    memDC.SetBackground(wxBrush(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNFACE)));
+                    wxColour col = wxColour(192,192,192);
+                    memDC.SetBackground(wxBrush(col));
                     memDC.Clear();
                     int x = (16 - bmp.GetWidth())/2;
                     int y = (16 - bmp.GetHeight())/2;