projects
/
wxWidgets.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix the rectangle size when offsetting
[wxWidgets.git]
/
src
/
msw
/
mdi.cpp
diff --git
a/src/msw/mdi.cpp
b/src/msw/mdi.cpp
index c61e986fa4e0b7d8833b541e696df1a24d6e9af9..399c30e7a456c833d3558a4e69d9bf7e7fbd5793 100644
(file)
--- a/
src/msw/mdi.cpp
+++ b/
src/msw/mdi.cpp
@@
-26,33
+26,28
@@
#if wxUSE_MDI && !defined(__WXUNIVERSAL__)
#if wxUSE_MDI && !defined(__WXUNIVERSAL__)
+#include "wx/mdi.h"
+
#ifndef WX_PRECOMP
#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/frame.h"
#include "wx/menu.h"
#include "wx/app.h"
#include "wx/utils.h"
#include "wx/dialog.h"
- #if wxUSE_STATUSBAR
- #include "wx/statusbr.h"
- #endif
+ #include "wx/statusbr.h"
#include "wx/settings.h"
#include "wx/intl.h"
#include "wx/log.h"
#include "wx/settings.h"
#include "wx/intl.h"
#include "wx/log.h"
+ #include "wx/toolbar.h"
#endif
#include "wx/stockitem.h"
#endif
#include "wx/stockitem.h"
-#include "wx/mdi.h"
#include "wx/msw/private.h"
#if wxUSE_STATUSBAR && wxUSE_NATIVE_STATUSBAR
#include "wx/msw/statbr95.h"
#endif
#include "wx/msw/private.h"
#if wxUSE_STATUSBAR && wxUSE_NATIVE_STATUSBAR
#include "wx/msw/statbr95.h"
#endif
-#if wxUSE_TOOLBAR
- #include "wx/toolbar.h"
-#endif // wxUSE_TOOLBAR
-
#include <string.h>
// ---------------------------------------------------------------------------
#include <string.h>
// ---------------------------------------------------------------------------
@@
-64,11
+59,8
@@
extern wxMenu *wxCurrentPopupMenu;
extern const wxChar *wxMDIFrameClassName; // from app.cpp
extern const wxChar *wxMDIChildFrameClassName;
extern const wxChar *wxMDIChildFrameClassNameNoRedraw;
extern const wxChar *wxMDIFrameClassName; // from app.cpp
extern const wxChar *wxMDIChildFrameClassName;
extern const wxChar *wxMDIChildFrameClassNameNoRedraw;
-extern void wxAssociateWinWithHandle(HWND hWnd, wxWindow *win);
extern void wxRemoveHandleAssociation(wxWindow *win);
extern void wxRemoveHandleAssociation(wxWindow *win);
-static HWND invalidHandle = 0;
-
// ---------------------------------------------------------------------------
// constants
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
// constants
// ---------------------------------------------------------------------------
@@
-215,6
+207,8
@@
bool wxMDIParentFrame::Create(wxWindow *parent,
return false;
}
return false;
}
+ SetOwnBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_APPWORKSPACE));
+
// unlike (almost?) all other windows, frames are created hidden
m_isShown = false;
// unlike (almost?) all other windows, frames are created hidden
m_isShown = false;
@@
-751,7
+745,7
@@
bool wxMDIChildFrame::Create(wxMDIParentFrame *parent,
msflags |= WS_MINIMIZEBOX;
if (style & wxMAXIMIZE_BOX)
msflags |= WS_MAXIMIZEBOX;
msflags |= WS_MINIMIZEBOX;
if (style & wxMAXIMIZE_BOX)
msflags |= WS_MAXIMIZEBOX;
- if (style & wx
THICK_FRAME
)
+ if (style & wx
RESIZE_BORDER
)
msflags |= WS_THICKFRAME;
if (style & wxSYSTEM_MENU)
msflags |= WS_SYSMENU;
msflags |= WS_THICKFRAME;
if (style & wxSYSTEM_MENU)
msflags |= WS_SYSMENU;
@@
-771,7
+765,13
@@
bool wxMDIChildFrame::Create(wxMDIParentFrame *parent,
m_hWnd = (WXHWND)::SendMessage(GetWinHwnd(parent->GetClientWindow()),
WM_MDICREATE, 0, (LONG)(LPSTR)&mcs);
m_hWnd = (WXHWND)::SendMessage(GetWinHwnd(parent->GetClientWindow()),
WM_MDICREATE, 0, (LONG)(LPSTR)&mcs);
- wxAssociateWinWithHandle((HWND) GetHWND(), this);
+ if ( !m_hWnd )
+ {
+ wxLogLastError(_T("WM_MDICREATE"));
+ return false;
+ }
+
+ SubclassWin(m_hWnd);
return true;
}
return true;
}
@@
-1111,13
+1111,6
@@
bool wxMDIChildFrame::HandleWindowPosChanging(void *pos)
lpPos->cx = rectClient.right - rectClient.left;
lpPos->cy = rectClient.bottom - rectClient.top;
}
lpPos->cx = rectClient.right - rectClient.left;
lpPos->cy = rectClient.bottom - rectClient.top;
}
-#if wxUSE_TOOLBAR
- wxMDIParentFrame* pFrameWnd = (wxMDIParentFrame *)GetParent();
- if (pFrameWnd && pFrameWnd->GetToolBar() && pFrameWnd->GetToolBar()->IsShown())
- {
- pFrameWnd->GetToolBar()->Refresh();
- }
-#endif
}
return false;
}
return false;
@@
-1176,8
+1169,6
@@
bool wxMDIChildFrame::MSWTranslateMessage(WXMSG* msg)
void wxMDIChildFrame::MSWDestroyWindow()
{
void wxMDIChildFrame::MSWDestroyWindow()
{
- invalidHandle = GetHwnd();
-
wxMDIParentFrame *parent = (wxMDIParentFrame *)GetParent();
// Must make sure this handle is invalidated (set to NULL) since all sorts
wxMDIParentFrame *parent = (wxMDIParentFrame *)GetParent();
// Must make sure this handle is invalidated (set to NULL) since all sorts
@@
-1191,8
+1182,6
@@
void wxMDIChildFrame::MSWDestroyWindow()
if (parent->GetActiveChild() == (wxMDIChildFrame*) NULL)
ResetWindowStyle((void*) NULL);
if (parent->GetActiveChild() == (wxMDIChildFrame*) NULL)
ResetWindowStyle((void*) NULL);
- invalidHandle = 0;
-
if (m_hMenu)
{
::DestroyMenu((HMENU) m_hMenu);
if (m_hMenu)
{
::DestroyMenu((HMENU) m_hMenu);