class WXDLLEXPORT wxToolBar;
 #endif
 
+
+// Not using a combined wxToolBar/wxMenuBar? then use
+// a commandbar in WinCE .NET to implement the
+// menubar, since there is no ::SetMenu function.
+#if defined(__WXWINCE__)
+#   if ((_WIN32_WCE >= 400) && !defined(__POCKETPC__) && !defined(__SMARTPHONE__)) || \
+        defined(__HANDHELDPC__)
+#       define WINCE_WITH_COMMANDBAR
+#   else
+#       define WINCE_WITHOUT_COMMANDBAR
+#   endif
+#endif
+
+
 #include "wx/arrstr.h"
 
 // ----------------------------------------------------------------------------
     virtual void Detach();
     virtual void Attach(wxFrame *frame);
 
-#if wxUSE_TOOLBAR && defined(__WXWINCE__) && (_WIN32_WCE < 400 || defined(__POCKETPC__) || defined(__SMARTPHONE__))
+#if defined(__WXWINCE__) && wxUSE_TOOLBAR
     // Under WinCE, a menubar is owned by the frame's toolbar
     void SetToolBar(wxToolBar* toolBar) { m_toolBar = toolBar; }
     wxToolBar* GetToolBar() const { return m_toolBar; }
 #endif
 
-#if defined(__WXWINCE__) && (_WIN32_WCE >= 400 && !defined(__POCKETPC__) && !defined(__SMARTPHONE__))
+#ifdef WINCE_WITH_COMMANDBAR
     WXHWND GetCommandBar() const { return m_commandBar; }
     bool AddAdornments(long style);
 #endif
 #if defined(__WXWINCE__) && wxUSE_TOOLBAR
     wxToolBar*  m_toolBar;
 #endif
-    // Not using a combined wxToolBar/wxMenuBar? then use
-    // a commandbar in WinCE .NET to implement the
-    // menubar, since there is no ::SetMenu function.
-#if defined(__WXWINCE__) && (_WIN32_WCE >= 400 && !defined(__POCKETPC__) && !defined(__SMARTPHONE__))
+
+#ifdef WINCE_WITH_COMMANDBAR
     WXHWND      m_commandBar;
     bool        m_adornmentsAdded;
 #endif