X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e6feb95a79834836e88143b15d9f424ebe79621..328bfc22243e3d4672ddf626db4f78e4269c7275:/src/msw/frame.cpp diff --git a/src/msw/frame.cpp b/src/msw/frame.cpp index 8b0ff3270d..a7f299a05d 100644 --- a/src/msw/frame.cpp +++ b/src/msw/frame.cpp @@ -82,6 +82,10 @@ END_EVENT_TABLE() IMPLEMENT_DYNAMIC_CLASS(wxFrameMSW, wxWindow) +#ifndef __WXUNIVERSAL__ +IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxFrameMSW) +#endif + // ============================================================================ // implementation // ============================================================================ @@ -379,21 +383,31 @@ void wxFrameMSW::Restore() bool wxFrameMSW::IsIconized() const { +#ifdef __WXMICROWIN__ + // TODO + return FALSE; +#else ((wxFrameMSW *)this)->m_iconized = (::IsIconic(GetHwnd()) != 0); return m_iconized; +#endif } // Is it maximized? bool wxFrameMSW::IsMaximized() const { +#ifdef __WXMICROWIN__ + // TODO + return FALSE; +#else return (::IsZoomed(GetHwnd()) != 0); +#endif } void wxFrameMSW::SetIcon(const wxIcon& icon) { wxFrameBase::SetIcon(icon); -#if defined(__WIN95__) +#if defined(__WIN95__) && !defined(__WXMICROWIN__) if ( m_icon.Ok() ) { SendMessage(GetHwnd(), WM_SETICON, @@ -403,7 +417,7 @@ void wxFrameMSW::SetIcon(const wxIcon& icon) } // generate an artificial resize event -void wxFrame::SendSizeEvent() +void wxFrameMSW::SendSizeEvent() { RECT r; #ifdef __WIN16__ @@ -507,7 +521,8 @@ void wxFrameMSW::SetMenuBar(wxMenuBar *menubar) } else { - menubar->Detach(); + if (menubar->IsAttached()) + menubar->Detach(); m_hMenu = menubar->Create(); @@ -531,10 +546,12 @@ void wxFrameMSW::SetMenuBar(wxMenuBar *menubar) void wxFrameMSW::InternalSetMenuBar() { +#ifndef __WXMICROWIN__ if ( !::SetMenu(GetHwnd(), (HMENU)m_hMenu) ) { wxLogLastError(wxT("SetMenu")); } +#endif } #endif // wxUSE_MENUS_NATIVE @@ -583,8 +600,10 @@ bool wxFrameMSW::ShowFullScreen(bool show, long style) } #endif // wxUSE_TOOLBAR +#ifndef __WXMICROWIN__ if (style & wxFULLSCREEN_NOMENUBAR) SetMenu((HWND)GetHWND(), (HMENU) NULL); +#endif #if wxUSE_STATUSBAR wxStatusBar *theStatusBar = GetStatusBar(); @@ -674,8 +693,10 @@ bool wxFrameMSW::ShowFullScreen(bool show, long style) } #endif // wxUSE_STATUSBAR +#ifndef __WXMICROWIN__ if ((m_fsStyle & wxFULLSCREEN_NOMENUBAR) && (m_hMenu != 0)) SetMenu((HWND)GetHWND(), (HMENU)m_hMenu); +#endif Maximize(m_fsIsMaximized); SetWindowLong((HWND)GetHWND(),GWL_STYLE, m_fsOldWindowStyle); @@ -954,6 +975,7 @@ bool wxFrameMSW::HandlePaint() RECT rect; if ( GetUpdateRect(GetHwnd(), &rect, FALSE) ) { +#ifndef __WXMICROWIN__ if ( m_iconized ) { HICON hIcon = m_icon.Ok() ? GetHiconOf(m_icon) @@ -987,6 +1009,7 @@ bool wxFrameMSW::HandlePaint() return TRUE; } else + #endif { return wxWindow::HandlePaint(); } @@ -1001,6 +1024,7 @@ bool wxFrameMSW::HandlePaint() bool wxFrameMSW::HandleSize(int x, int y, WXUINT id) { bool processed = FALSE; +#ifndef __WXMICROWIN__ switch ( id ) { @@ -1031,6 +1055,7 @@ bool wxFrameMSW::HandleSize(int x, int y, WXUINT id) m_iconized = TRUE; break; } +#endif if ( !m_iconized ) { @@ -1090,10 +1115,12 @@ bool wxFrameMSW::HandleMenuSelect(WXWORD nItem, WXWORD flags, WXHMENU hMenu) // menu was removed from screen item = -1; } +#ifndef __WXMICROWIN__ else if ( !(flags & MF_POPUP) && !(flags & MF_SEPARATOR) ) { item = nItem; } +#endif else { #if wxUSE_STATUSBAR @@ -1145,6 +1172,7 @@ long wxFrameMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam) } break; +#ifndef __WXMICROWIN__ case WM_MENUSELECT: { WXWORD item, flags; @@ -1154,11 +1182,13 @@ long wxFrameMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam) processed = HandleMenuSelect(item, flags, hmenu); } break; +#endif case WM_PAINT: processed = HandlePaint(); break; +#ifndef __WXMICROWIN__ case WM_QUERYDRAGICON: { HICON hIcon = m_icon.Ok() ? GetHiconOf(m_icon) @@ -1167,6 +1197,7 @@ long wxFrameMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam) processed = rc != 0; } break; +#endif case WM_SIZE: processed = HandleSize(LOWORD(lParam), HIWORD(lParam), wParam);