#include "wx/module.h"
#include "wx/msw/private.h"
+#include "wx/msw/missing.h"
+
+#if defined(__WXWINCE__)
+ #include <ole2.h>
+ #include <shellapi.h>
+ #if _WIN32_WCE < 400
+ #include <aygshell.h>
+ #endif
+#include "wx/msw/wince/missing.h"
+#endif
+
#include "wx/msw/winundef.h"
// This can't be undefed in winundef.h or
long style,
const wxString& name)
{
- bool ret = false;
+ bool ret wxDUMMY_INITIALIZE(false);
// init our fields
Init();
EnableCloseButton(false);
}
+ // for some reason we need to manually send ourselves this message as
+ // otherwise the mnemonics are always shown -- even if they're configured
+ // to be hidden until "Alt" is pressed in the control panel
+ //
+ // this could indicate a bug somewhere else but for now this is the only
+ // fix we have
+ if ( ret )
+ {
+ SendMessage
+ (
+ GetHwnd(),
+ WM_UPDATEUISTATE,
+ MAKEWPARAM(UIS_INITIALIZE, UISF_HIDEFOCUS | UISF_HIDEACCEL),
+ 0
+ );
+ }
+
return ret;
}
else // fall back to the main desktop
#else // wxUSE_DISPLAY
{
- // FIXME: implement for WinCE
-#ifndef __WXWINCE__
// resize to the size of the desktop
wxCopyRECTToRect(wxGetWindowRect(::GetDesktopWindow()), rect);
+#ifdef __WXWINCE__
+ // FIXME: size of the bottom menu (toolbar)
+ // should be taken in account
+ rect.height += rect.y;
+ rect.y = 0;
#endif
}
#endif // wxUSE_DISPLAY
rect.x, rect.y, rect.width, rect.height,
flags);
+#if defined(__WXWINCE__) && _WIN32_WCE < 400
+ ::SHFullScreen(GetHwnd(), SHFS_HIDETASKBAR | SHFS_HIDESIPBUTTON);
+#endif
+
// finally send an event allowing the window to relayout itself &c
wxSizeEvent event(rect.GetSize(), GetId());
GetEventHandler()->ProcessEvent(event);
}
else // stop showing full screen
{
+#if defined(__WXWINCE__) && _WIN32_WCE < 400
+ ::SHFullScreen(GetHwnd(), SHFS_SHOWTASKBAR | SHFS_SHOWSIPBUTTON);
+#endif
Maximize(m_fsIsMaximized);
SetWindowLong(GetHwnd(),GWL_STYLE, m_fsOldWindowStyle);
SetWindowPos(GetHwnd(),HWND_TOP,m_fsOldSize.x, m_fsOldSize.y,