#pragma hdrstop
#endif
+// Use the WinCE-specific toolbar only if we're either compiling
+// with a WinCE earlier than 4, or we wish to emulate a PocketPC-style UI
+#if wxUSE_TOOLBAR && wxUSE_TOOLBAR_NATIVE && (_WIN32_WCE < 400 || defined(__POCKETPC__) || defined(__SMARTPHONE__))
+
+#include "wx/toolbar.h"
+
#ifndef WX_PRECOMP
+ #include "wx/msw/wrapcctl.h" // include <commctrl.h> "properly"
+ #include "wx/dynarray.h"
#include "wx/frame.h"
#include "wx/log.h"
#include "wx/intl.h"
- #include "wx/dynarray.h"
#include "wx/settings.h"
#include "wx/bitmap.h"
#include "wx/dcmemory.h"
#include "wx/control.h"
#endif
-// Use the WinCE-specific toolbar only if we're either compiling
-// with a WinCE earlier than 4, or we wish to emulate a PocketPC-style UI
-#if wxUSE_TOOLBAR && wxUSE_TOOLBAR_NATIVE && (_WIN32_WCE < 400 || defined(__POCKETPC__) || defined(__SMARTPHONE__))
-
-#include "wx/toolbar.h"
-
#if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
#include "malloc.h"
#endif
#include <tchar.h>
#include <ole2.h>
#include <shellapi.h>
-#include <commctrl.h>
#if defined(WINCE_WITHOUT_COMMANDBAR)
#include <aygshell.h>
#endif
m_bitmapIndex = -1;
}
- wxToolMenuBarTool(wxToolBar *tbar, wxControl *control)
- : wxToolBarToolBase(tbar, control)
+ wxToolMenuBarTool(wxToolBar *tbar, wxControl *control, const wxString& label)
+ : wxToolBarToolBase(tbar, control, label)
{
m_nSepCount = 1;
m_bitmapIndex = -1;
clientData, shortHelp, longHelp);
}
-wxToolBarToolBase *wxToolMenuBar::CreateTool(wxControl *control)
+wxToolBarToolBase *
+wxToolMenuBar::CreateTool(wxControl *control, const wxString& label)
{
- return new wxToolMenuBarTool(this, control);
+ return new wxToolMenuBarTool(this, control, label);
}
// ----------------------------------------------------------------------------
wxToolBarToolBase *tool = FindById((int)id);
if ( !tool )
{
+ bool checked = false;
+ if ( m_menuBar )
+ {
+ wxMenuItem *item = m_menuBar->FindItem(id);
+ if ( item && item->IsCheckable() )
+ {
+ item->Toggle();
+ checked = item->IsChecked();
+ }
+ }
+
wxCommandEvent event(wxEVT_COMMAND_MENU_SELECTED);
event.SetEventObject(this);
event.SetId(id);
- event.SetInt(id);
+ event.SetInt(checked);
return GetEventHandler()->ProcessEvent(event);
}
break;
}
- return wxControl::MSWWindowProc(nMsg, wParam, lParam);
+ return MSWDefWindowProc(nMsg, wParam, lParam);
}