#include "wx/module.h"
#include "wx/msw/private.h"
-#if defined(__WXWINCE__)
+#if defined(__WXWINCE__) && !defined(__HANDHELDPC__)
#include <ole2.h>
#include <shellapi.h>
// Standard SDK doesn't have aygshell.dll: see include/wx/msw/wince/libraries.h
- #if _WIN32_WCE < 400 || !defined(WCE_PLATFORM_STANDARDSDK)
+ #if _WIN32_WCE < 400 || !defined(__WINCE_STANDARDSDK__)
#include <aygshell.h>
#endif
#include "wx/msw/wince/missing.h"
m_fsIsShowing = FALSE;
m_winLastFocused = (wxWindow *)NULL;
+
+#ifdef __SMARTPHONE__
+ m_MenuBarHWND = 0;
+#endif
}
WXDWORD wxTopLevelWindowMSW::MSWGetStyle(long style, WXDWORD *exflags) const
y = (sizeDpy.y - h) / 2;
}
-#if !defined(__WXWINCE__) || defined(WCE_PLATFORM_STANDARDSDK)
+#if !defined(__WXWINCE__) || defined(__WINCE_STANDARDSDK__)
if ( !::MoveWindow(GetHwnd(), x, y, w, h, FALSE) )
{
wxLogLastError(wxT("MoveWindow"));
WXDWORD exflags;
WXDWORD flags = MSWGetCreateWindowFlags(&exflags);
-#if (defined(_WIN32_WCE) && _WIN32_WCE < 400) || \
- defined(WIN32_PLATFORM_PSPC) || \
- defined(__SMARTPHONE__)
+#if !defined(__HANDHELDPC__) && ((defined(_WIN32_WCE) && _WIN32_WCE < 400) || \
+ defined(__POCKETPC__) || \
+ defined(__SMARTPHONE__))
// Always expand to fit the screen in PocketPC or SmartPhone
wxSize sz(wxDefaultSize);
#else // other (including normal desktop) Windows
);
}
- // Native look is full screen window on Smartphones
-#ifdef __SMARTPHONE__
+ // Native look is full screen window on Smartphones and Standard SDK
+#if defined(__WXWINCE__)
if ( style & wxMAXIMIZE )
- Maximize();
+ {
+ this->Maximize();
+ }
+#endif
+
+#ifdef __SMARTPHONE__
+ SetLeftMenu(wxID_EXIT, _("Done"));
+ SetRightMenu(); // to nothing for initialization
#endif
return ret;
// show and maximize
nShowCmd = SW_MAXIMIZE;
+ // This is necessary, or no window appears
+#ifdef __WINCE_STANDARDSDK__
+ DoShowWindow(SW_SHOW);
+#endif
+
m_maximizeOnShow = FALSE;
}
else // just show
DoShowWindow(nShowCmd);
+#if defined(__WXWINCE__) && (_WIN32_WCE >= 400 && !defined(__POCKETPC__) && !defined(__SMARTPHONE__))
+ // Addornments have to be added when the frame is the correct size
+ wxFrame* frame = wxDynamicCast(this, wxFrame);
+ if (frame && frame->GetMenuBar())
+ frame->GetMenuBar()->AddAdornments(GetWindowStyleFlag());
+#endif
+
if ( show )
{
::BringWindowToTop(GetHwnd());
rect.x, rect.y, rect.width, rect.height,
flags);
-#if defined(__WXWINCE__) && _WIN32_WCE < 400
+#if !defined(__HANDHELDPC__) && (defined(__WXWINCE__) && (_WIN32_WCE < 400))
::SHFullScreen(GetHwnd(), SHFS_HIDETASKBAR | SHFS_HIDESIPBUTTON);
#endif
}
else // stop showing full screen
{
-#if defined(__WXWINCE__) && _WIN32_WCE < 400
+#if !defined(__HANDHELDPC__) && (defined(__WXWINCE__) && (_WIN32_WCE < 400))
::SHFullScreen(GetHwnd(), SHFS_SHOWTASKBAR | SHFS_SHOWSIPBUTTON);
#endif
Maximize(m_fsIsMaximized);
// Standard SDK doesn't have aygshell.dll: see
// include/wx/msw/wince/libraries.h
-#if defined(__WXWINCE__) && !defined(WCE_PLATFORM_STANDARDSDK)
+#if defined(__WXWINCE__) && !defined(__WINCE_STANDARDSDK__) && !defined(__HANDHELDPC__)
SHINITDLGINFO shidi;
shidi.dwMask = SHIDIM_FLAGS;
shidi.dwFlags = SHIDIF_DONEBUTTON |