#pragma hdrstop
#endif
-#ifndef WX_PRECOMP
- #include "wx/wx.h"
-#endif
+#if defined(__SMARTPHONE__) && defined(__WXWINCE__)
#ifndef WX_PRECOMP
#include "wx/app.h"
#include "wx/menu.h"
#endif //WX_PRECOMP
-#if defined(__SMARTPHONE__) && defined(__WXWINCE__)
-
#include <windows.h>
#include <ole2.h>
#include <shellapi.h>
#include <aygshell.h>
+#include <tpcshell.h>
+#include <tpcuser.h>
#include "wx/msw/wince/missing.h"
#include "wx/msw/wince/resources.h"
m_assigned = true;
m_id = id;
if(label.empty() && wxIsStockID(id))
- m_label = wxGetStockLabel(id, false);
+ m_label = wxGetStockLabel(id, wxSTOCK_NOFLAGS);
else
m_label = label;
m_menu = subMenu;
if (!SHCreateMenuBar(&menu_bar))
{
- wxFAIL_MSG( _T("SHCreateMenuBar failed") );
+ wxFAIL_MSG( wxT("SHCreateMenuBar failed") );
return;
}
::ShowWindow( prev_MenuBar, SW_HIDE );
::ShowWindow( m_MenuBarHWND, SW_SHOW );
+ // Setup backspace key handling
+ SendMessage(m_MenuBarHWND, SHCMBM_OVERRIDEKEY, VK_TBACK,
+ MAKELPARAM( SHMBOF_NODEFAULT | SHMBOF_NOTIFY,
+ SHMBOF_NODEFAULT | SHMBOF_NOTIFY ));
}
bool wxTopLevelWindowMSW::HandleCommand(WXWORD id, WXWORD WXUNUSED(cmd), WXHWND WXUNUSED(control))
return false;
}
-#endif // __SMARTPHONE__ && __WXWINCE__
+bool wxTopLevelWindowMSW::MSWShouldPreProcessMessage(WXMSG* pMsg)
+{
+ MSG *msg = (MSG *)pMsg;
+ // Process back key to be like backspace.
+ if (msg->message == WM_HOTKEY)
+ {
+ if (HIWORD(msg->lParam) == VK_TBACK)
+ SHSendBackToFocusWindow(msg->message, msg->wParam, msg->lParam);
+ }
+
+ return wxTopLevelWindowBase::MSWShouldPreProcessMessage(pMsg);
+}
+
+#endif // __SMARTPHONE__ && __WXWINCE__