X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c2dcfdef634e097f7efe2288aa13511efb43ae28..f0492f7d97d77ec085e58d3f4a66c86508bc5f31:/src/msw/mdi.cpp diff --git a/src/msw/mdi.cpp b/src/msw/mdi.cpp index 2b1b74d1b7..7f933c7c84 100644 --- a/src/msw/mdi.cpp +++ b/src/msw/mdi.cpp @@ -9,73 +9,102 @@ // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// +// =========================================================================== +// declarations +// =========================================================================== + +// --------------------------------------------------------------------------- +// headers +// --------------------------------------------------------------------------- + #ifdef __GNUG__ -#pragma implementation "mdi.h" + #pragma implementation "mdi.h" #endif // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" #ifdef __BORLANDC__ -#pragma hdrstop + #pragma hdrstop #endif #ifndef WX_PRECOMP -#include "wx/setup.h" -#include "wx/frame.h" -#include "wx/menu.h" -#include "wx/app.h" -#include "wx/utils.h" -#include "wx/dialog.h" -#include "wx/statusbr.h" -#include "wx/settings.h" + #include "wx/setup.h" + #include "wx/frame.h" + #include "wx/menu.h" + #include "wx/app.h" + #include "wx/utils.h" + #include "wx/dialog.h" + #include "wx/statusbr.h" + #include "wx/settings.h" #endif #include "wx/mdi.h" #include "wx/msw/private.h" #if wxUSE_NATIVE_STATUSBAR -#include + #include #endif #include -extern wxList wxModelessWindows; +// --------------------------------------------------------------------------- +// global variables +// --------------------------------------------------------------------------- + +extern wxWindowList wxModelessWindows; // from dialog.cpp extern wxMenu *wxCurrentPopupMenu; -#define IDM_WINDOWTILE 4001 -#define IDM_WINDOWCASCADE 4002 -#define IDM_WINDOWICONS 4003 -#define IDM_WINDOWNEXT 4004 -// This range gives a maximum of 500 -// MDI children. Should be enough :-) -#define wxFIRST_MDI_CHILD 4100 -#define wxLAST_MDI_CHILD 4600 +extern char wxMDIFrameClassName[]; +extern char wxMDIChildFrameClassName[]; +extern wxWindow *wxWndHook; // from window.cpp + +extern wxList *wxWinHandleList; + +// --------------------------------------------------------------------------- +// constants +// --------------------------------------------------------------------------- + +static const int IDM_WINDOWTILE = 4001; +static const int IDM_WINDOWCASCADE = 4002; +static const int IDM_WINDOWICONS = 4003; +static const int IDM_WINDOWNEXT = 4004; + +// This range gives a maximum of 500 MDI children. Should be enough :-) +static const int wxFIRST_MDI_CHILD = 4100; +static const int wxLAST_MDI_CHILD = 4600; // Status border dimensions -#define wxTHICK_LINE_BORDER 3 -#define wxTHICK_LINE_WIDTH 1 +static const int wxTHICK_LINE_BORDER = 3; +static const int wxTHICK_LINE_WIDTH = 1; -extern char wxMDIFrameClassName[]; -extern char wxMDIChildFrameClassName[]; -extern wxWindow *wxWndHook; +// =========================================================================== +// implementation +// =========================================================================== + +// --------------------------------------------------------------------------- +// wxWin macros +// --------------------------------------------------------------------------- #if !USE_SHARED_LIBRARY -IMPLEMENT_DYNAMIC_CLASS(wxMDIParentFrame, wxFrame) -IMPLEMENT_DYNAMIC_CLASS(wxMDIChildFrame, wxFrame) -IMPLEMENT_DYNAMIC_CLASS(wxMDIClientWindow, wxWindow) + IMPLEMENT_DYNAMIC_CLASS(wxMDIParentFrame, wxFrame) + IMPLEMENT_DYNAMIC_CLASS(wxMDIChildFrame, wxFrame) + IMPLEMENT_DYNAMIC_CLASS(wxMDIClientWindow, wxWindow) +#endif // USE_SHARED_LIBRARY BEGIN_EVENT_TABLE(wxMDIParentFrame, wxFrame) - EVT_SIZE(wxMDIParentFrame::OnSize) - EVT_ACTIVATE(wxMDIParentFrame::OnActivate) - EVT_SYS_COLOUR_CHANGED(wxMDIParentFrame::OnSysColourChanged) + EVT_SIZE(wxMDIParentFrame::OnSize) + EVT_ACTIVATE(wxMDIParentFrame::OnActivate) + EVT_SYS_COLOUR_CHANGED(wxMDIParentFrame::OnSysColourChanged) END_EVENT_TABLE() BEGIN_EVENT_TABLE(wxMDIClientWindow, wxWindow) - EVT_SCROLL(wxMDIClientWindow::OnScroll) + EVT_SCROLL(wxMDIClientWindow::OnScroll) END_EVENT_TABLE() -#endif +// --------------------------------------------------------------------------- +// wxMDIParentFrame +// --------------------------------------------------------------------------- wxMDIParentFrame::wxMDIParentFrame() { @@ -86,12 +115,12 @@ wxMDIParentFrame::wxMDIParentFrame() } bool wxMDIParentFrame::Create(wxWindow *parent, - wxWindowID id, - const wxString& title, - const wxPoint& pos, - const wxSize& size, - long style, - const wxString& name) + wxWindowID id, + const wxString& title, + const wxPoint& pos, + const wxSize& size, + long style, + const wxString& name) { m_defaultIcon = (WXHICON) (wxSTD_MDIPARENTFRAME_ICON ? wxSTD_MDIPARENTFRAME_ICON : wxDEFAULT_MDIPARENTFRAME_ICON); @@ -159,34 +188,10 @@ wxMDIParentFrame::~wxMDIParentFrame() if (m_clientWindow->MSWGetOldWndProc()) m_clientWindow->UnsubclassWin(); - m_clientWindow->m_hWnd = 0; + m_clientWindow->SetHWND(0); delete m_clientWindow; } -// Get size *available for subwindows* i.e. excluding menu bar. -void wxMDIParentFrame::GetClientSize(int *x, int *y) const -{ - RECT rect; - ::GetClientRect((HWND) GetHWND(), &rect); - - int cwidth = rect.right; - int cheight = rect.bottom; - - if ( GetStatusBar() ) - { - int sw, sh; - GetStatusBar()->GetSize(&sw, &sh); - cheight -= sh; - } - - wxPoint pt(GetClientAreaOrigin()); - cheight -= pt.y; - cwidth -= pt.x; - - *x = cwidth; - *y = cheight; -} - void wxMDIParentFrame::SetMenuBar(wxMenuBar *menu_bar) { if (!menu_bar) @@ -246,9 +251,13 @@ void wxMDIParentFrame::SetMenuBar(wxMenuBar *menu_bar) void wxMDIParentFrame::OnSize(wxSizeEvent& event) { #if wxUSE_CONSTRAINTS - if (GetAutoLayout()) - Layout(); -#endif + if ( GetAutoLayout() ) + { + Layout(); + return; + } +#endif // wxUSE_CONSTRAINTS + int x = 0; int y = 0; int width, height; @@ -256,15 +265,6 @@ void wxMDIParentFrame::OnSize(wxSizeEvent& event) if ( GetClientWindow() ) GetClientWindow()->SetSize(x, y, width, height); - -/* Already done in MSWOnSize - // forward WM_SIZE to status bar control -#if wxUSE_NATIVE_STATUSBAR - if (m_frameStatusBar && m_frameStatusBar->IsKindOf(CLASSINFO(wxStatusBar95))) - ((wxStatusBar95 *)m_frameStatusBar)->OnSize(event); -#endif -*/ - } void wxMDIParentFrame::OnActivate(wxActivateEvent& event) @@ -275,19 +275,19 @@ void wxMDIParentFrame::OnActivate(wxActivateEvent& event) // Returns the active MDI child window wxMDIChildFrame *wxMDIParentFrame::GetActiveChild() const { -// HWND hWnd = (HWND)LOWORD(SendMessage((HWND) GetClientWindow()->GetHWND(), WM_MDIGETACTIVE, 0, 0L)); - HWND hWnd = (HWND)SendMessage((HWND) GetClientWindow()->GetHWND(), WM_MDIGETACTIVE, 0, 0L); - if (hWnd == 0) - return NULL; - else - return (wxMDIChildFrame *)wxFindWinFromHandle((WXHWND) hWnd); + HWND hWnd = (HWND)::SendMessage(GetWinHwnd(GetClientWindow()), + WM_MDIGETACTIVE, 0, 0L); + if ( hWnd == 0 ) + return NULL; + else + return (wxMDIChildFrame *)wxFindWinFromHandle((WXHWND) hWnd); } -// Create the client window class (don't Create the window, -// just return a new class) +// Create the client window class (don't Create the window, just return a new +// class) wxMDIClientWindow *wxMDIParentFrame::OnCreateClient() { - return new wxMDIClientWindow ; + return new wxMDIClientWindow; } // Responds to colour changes, and passes event on to children. @@ -314,100 +314,110 @@ void wxMDIParentFrame::OnSysColourChanged(wxSysColourChangedEvent& event) // MDI operations void wxMDIParentFrame::Cascade() { - ::SendMessage( (HWND) GetClientWindow()->GetHWND(), WM_MDICASCADE, 0, 0); + ::SendMessage(GetWinHwnd(GetClientWindow()), WM_MDICASCADE, 0, 0); } void wxMDIParentFrame::Tile() { - ::SendMessage( (HWND) GetClientWindow()->GetHWND(), WM_MDITILE, MDITILE_HORIZONTAL, 0); + ::SendMessage(GetWinHwnd(GetClientWindow()), WM_MDITILE, MDITILE_HORIZONTAL, 0); } void wxMDIParentFrame::ArrangeIcons() { - ::SendMessage( (HWND) GetClientWindow()->GetHWND(), WM_MDIICONARRANGE, 0, 0); + ::SendMessage(GetWinHwnd(GetClientWindow()), WM_MDIICONARRANGE, 0, 0); } void wxMDIParentFrame::ActivateNext() { - ::SendMessage( (HWND) GetClientWindow()->GetHWND(), WM_MDINEXT, 0, 0); + ::SendMessage(GetWinHwnd(GetClientWindow()), WM_MDINEXT, 0, 0); } void wxMDIParentFrame::ActivatePrevious() { - ::SendMessage( (HWND) GetClientWindow()->GetHWND(), WM_MDINEXT, 0, 1); + ::SendMessage(GetWinHwnd(GetClientWindow()), WM_MDINEXT, 0, 1); } - -/* -// Returns a style for the client window - usually 0 -// or, for example, wxHSCROLL | wxVSCROLL -long wxMDIParentFrame::GetClientStyle() const +// the MDI parent frame window proc +long wxMDIParentFrame::MSWWindowProc(WXUINT message, + WXWPARAM wParam, + WXLPARAM lParam) { - return wxHSCROLL | wxVSCROLL ; -} -*/ + long rc = 0; + bool processed = FALSE; -bool wxMDIParentFrame::MSWOnDestroy() -{ - return FALSE; -} + switch ( message ) + { + case WM_CREATE: + m_clientWindow = OnCreateClient(); + // Uses own style for client style + if ( !m_clientWindow->CreateClient(this, GetWindowStyleFlag()) ) + { + wxLogMessage(_("Failed to create MDI parent frame.")); -void wxMDIParentFrame::MSWOnCreate(WXLPCREATESTRUCT WXUNUSED(cs)) -{ - m_clientWindow = OnCreateClient(); - // Uses own style for client style - m_clientWindow->CreateClient(this, GetWindowStyleFlag()); -} + rc = -1; + } -void wxMDIParentFrame::MSWOnSize(int x, int y, WXUINT id) -{ - switch (id) - { - case SIZEFULLSCREEN: - case SIZENORMAL: - m_iconized = FALSE; - break; - case SIZEICONIC: - m_iconized = TRUE; - break; - } + processed = TRUE; + break; - if (!m_iconized) - { - // forward WM_SIZE to status bar control -#if wxUSE_NATIVE_STATUSBAR - if (m_frameStatusBar && m_frameStatusBar->IsKindOf(CLASSINFO(wxStatusBar95))) - { - wxSizeEvent event(wxSize(x, y), m_frameStatusBar->GetId()); - event.SetEventObject( m_frameStatusBar ); + case WM_ERASEBKGND: + processed = TRUE; - ((wxStatusBar95 *)m_frameStatusBar)->OnSize(event); - } + // we erase background ourselves + rc = TRUE; + break; + + case WM_MENUSELECT: + { + WORD item = (WORD)wParam; +#ifdef __WIN32__ + WORD flags = HIWORD(wParam); + HMENU menu = (HMENU)lParam; +#else + WORD flags = LOWORD(lParam); + HMENU menu = (HMENU)HIWORD(lParam); #endif + if ( m_parentFrameActive ) + { + processed = HandleMenuSelect(item, flags, (WXHMENU)menu); + } + else if (m_currentChild) + { + processed = m_currentChild-> + HandleMenuSelect(item, flags, (WXHMENU)menu); + } + } + break; + } - PositionStatusBar(); - PositionToolBar(); + if ( !processed ) + rc = wxFrame::MSWWindowProc(message, wParam, lParam); - wxSizeEvent event(wxSize(x, y), m_windowId); - event.SetEventObject( this ); - if (!GetEventHandler()->ProcessEvent(event)) - Default(); - } + return rc; } bool wxMDIParentFrame::MSWOnActivate(int state, bool minimized, WXHWND activate) { - wxWindow::MSWOnActivate(state, minimized, activate); + bool processed = FALSE; + + if ( wxWindow::MSWOnActivate(state, minimized, activate) ) + { + // already processed + processed = TRUE; + } // If this window is an MDI parent, we must also send an OnActivate message // to the current child. - if ((m_currentChild != NULL) && ((state == WA_ACTIVE) || (state == WA_CLICKACTIVE))) + if ( (m_currentChild != NULL) && + ((state == WA_ACTIVE) || (state == WA_CLICKACTIVE)) ) { wxActivateEvent event(wxEVT_ACTIVATE, TRUE, m_currentChild->GetId()); event.SetEventObject( m_currentChild ); - m_currentChild->GetEventHandler()->ProcessEvent(event); + if ( m_currentChild->GetEventHandler()->ProcessEvent(event) ) + processed = TRUE; } - return 0; + + return processed; } bool wxMDIParentFrame::MSWOnCommand(WXWORD id, WXWORD cmd, WXHWND control) @@ -492,30 +502,7 @@ bool wxMDIParentFrame::MSWOnCommand(WXWORD id, WXWORD cmd, WXHWND control) */ } - return FALSE; -} - -void wxMDIParentFrame::MSWOnMenuHighlight(WXWORD nItem, WXWORD nFlags, WXHMENU hSysMenu) -{ - if (m_parentFrameActive) - { - if (nFlags == 0xFFFF && hSysMenu == (WXHMENU) NULL) - { - wxMenuEvent event(wxEVT_MENU_HIGHLIGHT, -1); - event.SetEventObject( this ); - GetEventHandler()->ProcessEvent(event); - } - else if (nFlags != MF_SEPARATOR) - { - wxMenuEvent event(wxEVT_MENU_HIGHLIGHT, nItem); - event.SetEventObject( this ); - GetEventHandler()->ProcessEvent(event); - } - } - else if (m_currentChild) - { - m_currentChild->MSWOnMenuHighlight(nItem, nFlags, hSysMenu); - } + return wxWindow::MSWOnCommand(id, cmd, control); } long wxMDIParentFrame::MSWDefWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam) @@ -526,45 +513,45 @@ long wxMDIParentFrame::MSWDefWindowProc(WXUINT message, WXWPARAM wParam, WXLPARA else clientWnd = 0; - return DefFrameProc((HWND) GetHWND(), (HWND) clientWnd, message, wParam, lParam); + return DefFrameProc(GetHwnd(), (HWND)clientWnd, message, wParam, lParam); } bool wxMDIParentFrame::MSWProcessMessage(WXMSG* msg) { - if ((m_currentChild != (wxWindow *)NULL) && (m_currentChild->GetHWND() != (WXHWND) NULL) && m_currentChild->MSWProcessMessage(msg)) - return TRUE; - - return FALSE; + return m_currentChild && m_currentChild->GetHWND() && + m_currentChild->MSWProcessMessage(msg); } bool wxMDIParentFrame::MSWTranslateMessage(WXMSG* msg) { - MSG *pMsg = (MSG *)msg; - - if ((m_currentChild != (wxWindow *)NULL) && (m_currentChild->GetHWND() != (WXHWND) NULL) && m_currentChild->MSWTranslateMessage(msg)) - return TRUE; - - if (m_acceleratorTable.Ok() && - ::TranslateAccelerator((HWND) GetHWND(), (HACCEL) m_acceleratorTable.GetHACCEL(), pMsg)) - return TRUE; + MSG *pMsg = (MSG *)msg; - if (pMsg->message == WM_KEYDOWN || pMsg->message == WM_SYSKEYDOWN) - { - if (::TranslateMDISysAccel((HWND) GetClientWindow()->GetHWND(), pMsg)) - return TRUE; - } + if ( m_currentChild && m_currentChild->GetHWND() && + m_currentChild->MSWTranslateMessage(msg) ) + { + return TRUE; + } - return FALSE; -} + if ( m_acceleratorTable.Ok() && + ::TranslateAccelerator(GetHwnd(), + GetTableHaccel(&m_acceleratorTable), + pMsg) ) + { + return TRUE; + } + if ( pMsg->message == WM_KEYDOWN || pMsg->message == WM_SYSKEYDOWN ) + { + if ( ::TranslateMDISysAccel(GetWinHwnd(GetClientWindow()), pMsg)) + return TRUE; + } -bool wxMDIParentFrame::MSWOnEraseBkgnd(WXHDC WXUNUSED(pDC)) -{ - return TRUE; + return FALSE; } -extern wxWindow *wxWndHook; -extern wxList *wxWinHandleList; +// --------------------------------------------------------------------------- +// wxMDIChildFrame +// --------------------------------------------------------------------------- wxMDIChildFrame::wxMDIChildFrame() { @@ -572,12 +559,12 @@ wxMDIChildFrame::wxMDIChildFrame() } bool wxMDIChildFrame::Create(wxMDIParentFrame *parent, - wxWindowID id, - const wxString& title, - const wxPoint& pos, - const wxSize& size, - long style, - const wxString& name) + wxWindowID id, + const wxString& title, + const wxPoint& pos, + const wxSize& size, + long style, + const wxString& name) { m_defaultIcon = (WXHICON) (wxSTD_MDICHILDFRAME_ICON ? wxSTD_MDICHILDFRAME_ICON : wxDEFAULT_MDICHILDFRAME_ICON); @@ -662,7 +649,7 @@ wxMDIChildFrame::~wxMDIChildFrame() // Set the client size (i.e. leave the calculation of borders etc. // to wxWindows) -void wxMDIChildFrame::SetClientSize(int width, int height) +void wxMDIChildFrame::DoSetClientSize(int width, int height) { HWND hWnd = (HWND) GetHWND(); @@ -701,7 +688,7 @@ void wxMDIChildFrame::SetClientSize(int width, int height) GetEventHandler()->ProcessEvent(event); } -void wxMDIChildFrame::GetPosition(int *x, int *y) const +void wxMDIChildFrame::DoGetPosition(int *x, int *y) const { RECT rect; GetWindowRect((HWND) GetHWND(), &rect); @@ -797,46 +784,49 @@ void wxMDIChildFrame::Activate() } static HWND invalidHandle = 0; -void wxMDIChildFrame::MSWOnSize(int x, int y, WXUINT id) +bool wxMDIChildFrame::MSWOnSize(int x, int y, WXUINT id) { - if (!GetHWND()) return; - - if (invalidHandle == (HWND) GetHWND()) - { - return; - } - - (void)MSWDefWindowProc(m_lastMsg, m_lastWParam, m_lastLParam); - - switch (id) - { - case SIZEFULLSCREEN: - case SIZENORMAL: - m_iconized = FALSE; - break; - case SIZEICONIC: - m_iconized = TRUE; - break; - } - - if (!m_iconized) - { - // forward WM_SIZE to status bar control -#if wxUSE_NATIVE_STATUSBAR - if (m_frameStatusBar && m_frameStatusBar->IsKindOf(CLASSINFO(wxStatusBar95))) + HWND hwnd = GetHwnd(); + + if ( !hwnd || hwnd == invalidHandle ) { - wxSizeEvent event(wxSize(x, y), m_frameStatusBar->GetId()); - event.SetEventObject( m_frameStatusBar ); - - ((wxStatusBar95 *)m_frameStatusBar)->OnSize(event); + return FALSE; + } + + switch (id) + { + case SIZEFULLSCREEN: + case SIZENORMAL: + m_iconized = FALSE; + break; + + case SIZEICONIC: + m_iconized = TRUE; + break; } + + if (!m_iconized) + { + // forward WM_SIZE to status bar control +#if wxUSE_NATIVE_STATUSBAR + if (m_frameStatusBar && m_frameStatusBar->IsKindOf(CLASSINFO(wxStatusBar95))) + { + wxSizeEvent event(wxSize(x, y), m_frameStatusBar->GetId()); + event.SetEventObject( m_frameStatusBar ); + + ((wxStatusBar95 *)m_frameStatusBar)->OnSize(event); + } #endif - - PositionStatusBar(); - PositionToolBar(); - - wxWindow::MSWOnSize(x, y, id); - } + + PositionStatusBar(); + PositionToolBar(); + + return wxWindow::MSWOnSize(x, y, id); + } + else + { + return FALSE; + } } bool wxMDIChildFrame::MSWOnCommand(WXWORD id, WXWORD cmd, WXHWND control) @@ -867,7 +857,7 @@ bool wxMDIChildFrame::MSWOnCommand(WXWORD id, WXWORD cmd, WXHWND control) return TRUE; } else - return FALSE; + return wxWindow::MSWOnCommand(id, cmd, control); } long wxMDIChildFrame::MSWDefWindowProc(WXUINT message, WXUINT wParam, WXLPARAM lParam) @@ -895,7 +885,7 @@ bool wxMDIChildFrame::MSWTranslateMessage(WXMSG* msg) return FALSE; } -long wxMDIChildFrame::MSWOnMDIActivate(long activate, WXHWND WXUNUSED(one), WXHWND WXUNUSED(two)) +bool wxMDIChildFrame::MSWOnMDIActivate(long activate, WXHWND WXUNUSED(one), WXHWND WXUNUSED(two)) { wxMDIParentFrame *parent = (wxMDIParentFrame *)GetParent(); HMENU parent_menu = (HMENU) parent->GetWinMenu(); @@ -922,7 +912,7 @@ long wxMDIChildFrame::MSWOnMDIActivate(long activate, WXHWND WXUNUSED(one), WXHW } wxActivateEvent event(wxEVT_ACTIVATE, TRUE, m_windowId); event.SetEventObject( this ); - GetEventHandler()->ProcessEvent(event); + return GetEventHandler()->ProcessEvent(event); } else { @@ -931,7 +921,8 @@ long wxMDIChildFrame::MSWOnMDIActivate(long activate, WXHWND WXUNUSED(one), WXHW wxActivateEvent event(wxEVT_ACTIVATE, FALSE, m_windowId); event.SetEventObject( this ); - GetEventHandler()->ProcessEvent(event); + if ( GetEventHandler()->ProcessEvent(event) ) + return TRUE; // m_active = FALSE; if (parent_menu) @@ -953,8 +944,7 @@ long wxMDIChildFrame::MSWOnMDIActivate(long activate, WXHWND WXUNUSED(one), WXHW bool flag = (activate != 0); wxActivateEvent event(wxEVT_ACTIVATE, flag, m_windowId); event.SetEventObject( this ); - GetEventHandler()->ProcessEvent(event); - return 0; + return GetEventHandler()->ProcessEvent(event); } void wxMDIChildFrame::MSWDestroyWindow() @@ -1021,7 +1011,7 @@ bool wxMDIChildFrame::ResetWindowStyle(void *vrect) #endif } -void wxMDIChildFrame::MSWOnWindowPosChanging(void *pos) +bool wxMDIChildFrame::MSWOnWindowPosChanging(void *pos) { WINDOWPOS *lpPos = (WINDOWPOS *)pos; #if defined(__WIN95__) @@ -1045,7 +1035,8 @@ void wxMDIChildFrame::MSWOnWindowPosChanging(void *pos) } } #endif - Default(); + + return FALSE; } // Client window @@ -1065,7 +1056,7 @@ bool wxMDIClientWindow::CreateClient(wxMDIParentFrame *parent, long style) CLIENTCREATESTRUCT ccs; m_windowStyle = style; - m_windowParent = parent; + m_parent = parent; ccs.hWindowMenu = (HMENU) parent->GetWindowMenu(); ccs.idFirstChild = wxFIRST_MDI_CHILD; @@ -1123,10 +1114,3 @@ void wxMDIClientWindow::OnScroll(wxScrollEvent& event) Default(); } - -// Should hand the message to the default proc -long wxMDIClientWindow::MSWOnMDIActivate(long bActivate, WXHWND, WXHWND) -{ - return Default(); -} -