X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ccef86c75da7844d15435f4093bf992f60786cea..d8c65cf48881468f97798ac521fb93f9b8b5a293:/src/msw/frame.cpp diff --git a/src/msw/frame.cpp b/src/msw/frame.cpp index c4ab391cd8..10896a17f6 100644 --- a/src/msw/frame.cpp +++ b/src/msw/frame.cpp @@ -63,10 +63,8 @@ // globals // ---------------------------------------------------------------------------- -extern const wxChar *wxFrameClassName; - #if wxUSE_MENUS_NATIVE -extern wxMenu *wxCurrentPopupMenu; + extern wxMenu *wxCurrentPopupMenu; #endif // wxUSE_MENUS_NATIVE // ---------------------------------------------------------------------------- @@ -74,7 +72,6 @@ extern wxMenu *wxCurrentPopupMenu; // ---------------------------------------------------------------------------- BEGIN_EVENT_TABLE(wxFrame, wxFrameBase) - EVT_ACTIVATE(wxFrame::OnActivate) EVT_SYS_COLOUR_CHANGED(wxFrame::OnSysColourChanged) END_EVENT_TABLE() @@ -110,11 +107,8 @@ void wxFrame::Init() m_fsStatusBarFields = 0; m_fsStatusBarHeight = 0; m_fsToolBarHeight = 0; -// m_fsMenu = 0; m_wasMinimized = FALSE; - - m_winLastFocused = (wxWindow *)NULL; } bool wxFrame::Create(wxWindow *parent, @@ -326,7 +320,7 @@ void wxFrame::OnSysColourChanged(wxSysColourChangedEvent& event) // Pass TRUE to show full screen, FALSE to restore. bool wxFrame::ShowFullScreen(bool show, long style) { - if ( IsFullScreen() == show ) + if ( IsFullScreen() == show ) return FALSE; if (show) @@ -397,58 +391,8 @@ bool wxFrame::ShowFullScreen(bool show, long style) SetMenu((HWND)GetHWND(), (HMENU)m_hMenu); #endif } - - return wxFrameBase::ShowFullScreen(show, style); -} -// Default activation behaviour - set the focus for the first child -// subwindow found. -void wxFrame::OnActivate(wxActivateEvent& event) -{ - if ( event.GetActive() ) - { - // restore focus to the child which was last focused - wxLogTrace(_T("focus"), _T("wxFrame %08x activated."), m_hWnd); - - wxWindow *parent = m_winLastFocused ? m_winLastFocused->GetParent() - : NULL; - if ( !parent ) - { - parent = this; - } - - wxSetFocusToChild(parent, &m_winLastFocused); - } - else // deactivating - { - // remember the last focused child if it is our child - m_winLastFocused = FindFocus(); - - // so we NULL it out if it's a child from some other frame - wxWindow *win = m_winLastFocused; - while ( win ) - { - if ( win->IsTopLevel() ) - { - if ( win != this ) - { - m_winLastFocused = NULL; - } - - break; - } - - win = win->GetParent(); - } - - wxLogTrace(_T("focus"), - _T("wxFrame %08x deactivated, last focused: %08x."), - m_hWnd, - m_winLastFocused ? GetHwndOf(m_winLastFocused) - : NULL); - - event.Skip(); - } + return wxFrameBase::ShowFullScreen(show, style); } // ---------------------------------------------------------------------------- @@ -495,6 +439,8 @@ void wxFrame::PositionToolBar() else { tw = width; + if ( toolbar->GetWindowStyleFlag() & wxTB_FLAT ) + th -= 3; } // use the 'real' MSW position here, don't offset relativly to the @@ -602,8 +548,9 @@ bool wxFrame::HandlePaint() #ifndef __WXMICROWIN__ if ( m_iconized ) { - HICON hIcon = m_icon.Ok() ? GetHiconOf(m_icon) - : (HICON)GetDefaultIcon(); + const wxIcon& icon = GetIcon(); + HICON hIcon = icon.Ok() ? GetHiconOf(icon) + : (HICON)GetDefaultIcon(); // Hold a pointer to the dc so long as the OnPaint() message // is being processed @@ -691,9 +638,7 @@ bool wxFrame::HandleSize(int x, int y, WXUINT id) PositionToolBar(); #endif // wxUSE_TOOLBAR - wxSizeEvent event(wxSize(x, y), m_windowId); - event.SetEventObject( this ); - processed = GetEventHandler()->ProcessEvent(event); + processed = wxWindow::HandleSize(x, y, id); } return processed; @@ -747,17 +692,11 @@ bool wxFrame::HandleMenuSelect(WXWORD nItem, WXWORD flags, WXHMENU hMenu) #endif else { -#if wxUSE_STATUSBAR // don't give hints for separators (doesn't make sense) nor for the // items opening popup menus (they don't have them anyhow) but do clear // the status line - otherwise, we would be left with the help message // for the previous item which doesn't apply any more - wxStatusBar *statbar = GetStatusBar(); - if ( statbar ) - { - statbar->SetStatusText(wxEmptyString); - } -#endif // wxUSE_STATUSBAR + DoGiveHelp(wxEmptyString, FALSE); return FALSE; } @@ -837,8 +776,9 @@ long wxFrame::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam) case WM_QUERYDRAGICON: { - HICON hIcon = m_icon.Ok() ? GetHiconOf(m_icon) - : (HICON)GetDefaultIcon(); + const wxIcon& icon = GetIcon(); + HICON hIcon = icon.Ok() ? GetHiconOf(icon) + : (HICON)GetDefaultIcon(); rc = (long)hIcon; processed = rc != 0; } @@ -847,7 +787,7 @@ long wxFrame::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam) } if ( !processed ) - rc = wxWindow::MSWWindowProc(message, wParam, lParam); + rc = wxFrameBase::MSWWindowProc(message, wParam, lParam); return rc; }