X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/abb8764e32f03040cfa03353f2058a6b98a6e612..404b319a85dadd7decf7a5a5331020520031a41c:/src/msw/frame.cpp diff --git a/src/msw/frame.cpp b/src/msw/frame.cpp index c9c90a78c7..34e00745ec 100644 --- a/src/msw/frame.cpp +++ b/src/msw/frame.cpp @@ -239,11 +239,6 @@ void wxFrame::DoGetClientSize(int *x, int *y) const // wxFrame: various geometry-related functions // ---------------------------------------------------------------------------- -void wxFrame::Raise() -{ - ::SetForegroundWindow(GetHwnd()); -} - // generate an artificial resize event void wxFrame::SendSizeEvent(int flags) { @@ -385,7 +380,7 @@ void wxFrame::AttachMenuBar(wxMenuBar *menubar) // adjust for menu / titlebar height rc.bottom -= (2*menuHeight-1); - ::MoveWindow(Gethwnd(), rc.left, rc.top, rc.right, rc.bottom, FALSE); + ::MoveWindow(GetHwnd(), rc.left, rc.top, rc.right, rc.bottom, FALSE); } #endif @@ -434,11 +429,22 @@ void wxFrame::InternalSetMenuBar() #endif // wxUSE_MENUS_NATIVE +#if wxUSE_MENUS +wxMenu* wxFrame::MSWFindMenuFromHMENU(WXHMENU hMenu) +{ + return GetMenuBar() ? GetMenuBar()->MSWGetMenu(hMenu) : NULL; +} +#endif // wxUSE_MENUS + // Responds to colour changes, and passes event on to children. void wxFrame::OnSysColourChanged(wxSysColourChangedEvent& event) { - SetOwnBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_APPWORKSPACE)); - Refresh(); + // Don't override the colour explicitly set by the user, if any. + if ( !UseBgCol() ) + { + SetOwnBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_APPWORKSPACE)); + Refresh(); + } #if wxUSE_STATUSBAR if ( m_frameStatusBar ) @@ -825,61 +831,6 @@ bool wxFrame::HandleCommand(WXWORD id, WXWORD cmd, WXHWND control) return wxFrameBase::HandleCommand(id, cmd, control);; } -#if wxUSE_MENUS - -bool -wxFrame::HandleMenuSelect(WXWORD nItem, WXWORD flags, WXHMENU WXUNUSED(hMenu)) -{ - // sign extend to int from unsigned short we get from Windows - int item = (signed short)nItem; - - // WM_MENUSELECT is generated for both normal items and menus, including - // the top level menus of the menu bar, which can't be represented using - // any valid identifier in wxMenuEvent so use an otherwise unused value for - // them - if ( flags & (MF_POPUP | MF_SEPARATOR) ) - item = wxID_NONE; - - wxMenuEvent event(wxEVT_MENU_HIGHLIGHT, item); - event.SetEventObject(this); - - if ( HandleWindowEvent(event) ) - return true; - - // by default, i.e. if the event wasn't handled above, clear the status bar - // text when an item which can't have any associated help string in wx API - // is selected - if ( item == wxID_NONE ) - DoGiveHelp(wxEmptyString, true); - - return false; -} - -bool wxFrame::HandleMenuPopup(wxEventType evtType, WXHMENU hMenu) -{ - // we don't have the menu id here, so we use the id to specify if the event - // was from a popup menu or a normal one - - int menuid = 0; - wxMenu* menu = NULL; - if (GetMenuBar()) - { - menu = GetMenuBar()->MSWGetMenu(hMenu); - } - else if ( wxCurrentPopupMenu && wxCurrentPopupMenu->GetHMenu() == hMenu ) - { - menu = wxCurrentPopupMenu; - menuid = wxID_ANY; - } - - wxMenuEvent event(evtType, menuid, menu); - event.SetEventObject(this); - - return HandleWindowEvent(event); -} - -#endif // wxUSE_MENUS - // --------------------------------------------------------------------------- // the window proc for wxFrame // --------------------------------------------------------------------------- @@ -920,26 +871,6 @@ WXLRESULT wxFrame::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lPara break; #if !defined(__WXMICROWIN__) && !defined(__WXWINCE__) -#if wxUSE_MENUS - case WM_INITMENUPOPUP: - processed = HandleMenuPopup(wxEVT_MENU_OPEN, (WXHMENU)wParam); - break; - - case WM_MENUSELECT: - { - WXWORD item, flags; - WXHMENU hmenu; - UnpackMenuSelect(wParam, lParam, &item, &flags, &hmenu); - - processed = HandleMenuSelect(item, flags, hmenu); - } - break; - - case WM_UNINITMENUPOPUP: - processed = HandleMenuPopup(wxEVT_MENU_CLOSE, (WXHMENU)wParam); - break; -#endif // wxUSE_MENUS - case WM_QUERYDRAGICON: { const wxIcon& icon = GetIcon();