Corrected problem with MDI children not refreshing (removed WS_CLIPCHILDREN).
Double-fixed the LEAVE/ENTER bug... git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@139 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
ab22cb9a01
commit
46851318fe
@ -125,9 +125,7 @@ bool wxMDIParentFrame::Create(wxWindow *parent,
|
||||
wxDebugMsg("Loaded m_windowMenu %d\n", m_windowMenu);
|
||||
#endif
|
||||
|
||||
// Adding WS_CLIPCHILDREN causes children not to be properly
|
||||
// drawn when first displaying them.
|
||||
DWORD msflags = WS_OVERLAPPED ; // | WS_CLIPCHILDREN ;
|
||||
DWORD msflags = WS_OVERLAPPED ;
|
||||
if (style & wxMINIMIZE_BOX)
|
||||
msflags |= WS_MINIMIZEBOX;
|
||||
if (style & wxMAXIMIZE_BOX)
|
||||
@ -142,8 +140,11 @@ bool wxMDIParentFrame::Create(wxWindow *parent,
|
||||
msflags |= WS_MAXIMIZE;
|
||||
if (style & wxCAPTION)
|
||||
msflags |= WS_CAPTION;
|
||||
if (style & wxCLIP_CHILDREN)
|
||||
msflags |= WS_CLIPCHILDREN;
|
||||
|
||||
// Adding WS_CLIPCHILDREN causes children not to be properly
|
||||
// drawn when first displaying them.
|
||||
// if (style & wxCLIP_CHILDREN)
|
||||
// msflags |= WS_CLIPCHILDREN;
|
||||
|
||||
wxWindow::MSWCreate(m_windowId, parent, wxMDIFrameClassName, this, title, x, y, width, height,
|
||||
msflags);
|
||||
|
@ -1936,11 +1936,11 @@ long wxWindow::MSWDefWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
|
||||
|
||||
long wxWindow::Default()
|
||||
{
|
||||
// These are fake events, ignore them
|
||||
if (m_lastEvent != wxEVT_ENTER_WINDOW && m_lastEvent != wxEVT_LEAVE_WINDOW)
|
||||
return this->MSWDefWindowProc(m_lastMsg, m_lastWParam, m_lastLParam);
|
||||
else
|
||||
// Ignore 'fake' events (perhaps generated as a result of a separate real event)
|
||||
if (m_lastMsg == 0)
|
||||
return 0;
|
||||
|
||||
return this->MSWDefWindowProc(m_lastMsg, m_lastWParam, m_lastLParam);
|
||||
}
|
||||
|
||||
bool wxWindow::MSWProcessMessage(WXMSG* pMsg)
|
||||
@ -2444,6 +2444,8 @@ void wxWindow::MSWOnMouseEnter(const int x, const int y, const WXUINT flags)
|
||||
|
||||
m_lastEvent = wxEVT_ENTER_WINDOW;
|
||||
m_lastXPos = event.m_x; m_lastYPos = event.m_y;
|
||||
// No message - ensure we don't try to call the default behaviour accidentally.
|
||||
m_lastMsg = 0;
|
||||
GetEventHandler()->ProcessEvent(event);
|
||||
}
|
||||
|
||||
@ -2462,6 +2464,8 @@ void wxWindow::MSWOnMouseLeave(const int x, const int y, const WXUINT flags)
|
||||
|
||||
m_lastEvent = wxEVT_LEAVE_WINDOW;
|
||||
m_lastXPos = event.m_x; m_lastYPos = event.m_y;
|
||||
// No message - ensure we don't try to call the default behaviour accidentally.
|
||||
m_lastMsg = 0;
|
||||
GetEventHandler()->ProcessEvent(event);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user