#include <commctrl.h>
#endif
+#if defined(__POCKETPC__) || defined(__SMARTPHONE__)
+#include "wx/msw/ole/oleutils.h"
+#include <aygshell.h>
+#include "wx/msw/winundef.h"
+#endif
+
#if wxUSE_STATUSBAR
#include "wx/statusbr.h"
#include "wx/generic/statusbr.h"
void wxFrame::Init()
{
+#if wxUSE_MENUS
+ m_hMenu = NULL;
+#endif // wxUSE_MENUS
+
#if wxUSE_TOOLTIPS
m_hwndToolTip = 0;
#endif
+#if defined(__SMARTPHONE__) || defined(__POCKETPC__)
+ SHACTIVATEINFO* info = new SHACTIVATEINFO;
+ memset(info, 0, sizeof(SHACTIVATEINFO));
+ info->cbSize = sizeof(SHACTIVATEINFO);
+
+ m_activateInfo = (void*) info;
+#endif
+
m_wasMinimized = false;
}
SetOwnBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_APPWORKSPACE));
-#if defined(__SMARTPHONE__) && defined(__WXWINCE__)
+#if defined(__SMARTPHONE__)
SetLeftMenu(wxID_EXIT, _("Done"));
#endif
+#if defined(__POCKETPC__)
+ // The guidelines state that Ctrl+Q should quit the app.
+ // Let's define an accelerator table to send wxID_EXIT.
+ wxAcceleratorEntry entries[1];
+ entries[0].Set(wxACCEL_CTRL, 'Q', wxID_EXIT);
+ wxAcceleratorTable accel(1, entries);
+ SetAcceleratorTable(accel);
+#endif
+
return true;
}
{
m_isBeingDeleted = true;
DeleteAllBars();
+
+#if defined(__SMARTPHONE__) || defined(__POCKETPC__)
+ SHACTIVATEINFO* info = (SHACTIVATEINFO*) m_activateInfo;
+ delete info;
+ m_activateInfo = NULL;
+#endif
}
// ----------------------------------------------------------------------------
#elif defined(WINCE_WITHOUT_COMMANDBAR)
if (!GetToolBar())
{
- wxToolBar* toolBar = new wxToolBar(this, wxID_ANY,
+ wxToolMenuBar* toolBar = new wxToolMenuBar(this, wxID_ANY,
wxDefaultPosition, wxDefaultSize,
wxBORDER_NONE | wxTB_HORIZONTAL,
wxToolBarNameStr, menubar);
wxFrame *frame = wxDynamicCast(win, wxFrame);
if ( frame
#if wxUSE_MDI_ARCHITECTURE
- && !wxDynamicCast(frame, wxMDIChildFrame)
+ && !frame->IsMDIChild()
#endif // wxUSE_MDI_ARCHITECTURE
)
{
switch ( message )
{
+#if defined(__SMARTPHONE__) || defined(__POCKETPC__)
+ case WM_ACTIVATE:
+ {
+ SHACTIVATEINFO* info = (SHACTIVATEINFO*) m_activateInfo;
+ if (info)
+ SHHandleWMActivate(GetHwnd(), wParam, lParam, info, FALSE);
+
+ // This implicitly sends a wxEVT_ACTIVATE_APP event
+ if (wxTheApp)
+ wxTheApp->SetActive(wParam != 0, FindFocus());
+ break;
+ }
+ case WM_SETTINGCHANGE:
+ {
+ SHACTIVATEINFO* info = (SHACTIVATEINFO*) m_activateInfo;
+ if (info)
+ SHHandleWMSettingChange(GetHwnd(), wParam, lParam, info);
+ processed = true;
+ break;
+ }
+ case WM_HIBERNATE:
+ {
+ wxActivateEvent event(wxEVT_HIBERNATE, true, wxID_ANY);
+ event.SetEventObject(wxTheApp);
+
+ if (wxTheApp)
+ {
+ processed = wxTheApp->ProcessEvent(event);
+ }
+ break;
+ }
+#endif
+
case WM_CLOSE:
// if we can't close, tell the system that we processed the
// message - otherwise it would close us