MoveChildren(nYDiff);
::WinQueryWindowPos(GetHwnd(), &m_vWinSwp);
}
+#if 0
+ // FIXME: By my logic, the next line should be needed as it moves child
+ // windows when resizing the parent (see comment at beginning of
+ // function). However, this seems to cause lots of problems. At
+ // least, e.g. the grid sample almost works with this line
+ // commented out but crashes badly with it.
MoveChildren(nHeightDelta);
+#endif
} // end of wxWindowOS2::DoMoveWindow
//
GetEventHandler()->ProcessEvent(vEvent);
} // end of wxWindowOS2::DoSetClientSize
-wxPoint wxWindowOS2::GetClientAreaOrigin() const
-{
- return wxPoint(0, 0);
-} // end of wxWindowOS2::GetClientAreaOrigin
-
// ---------------------------------------------------------------------------
// text metrics
// ---------------------------------------------------------------------------
{
wxShowEvent vEvent(GetId(), bShow);
- vEvent.m_eventObject = this;
+ vEvent.SetEventObject(this);
return GetEventHandler()->ProcessEvent(vEvent);
} // end of wxWindowOS2::HandleShow
{
wxInitDialogEvent vEvent(GetId());
- vEvent.m_eventObject = this;
+ vEvent.SetEventObject(this);
return GetEventHandler()->ProcessEvent(vEvent);
} // end of wxWindowOS2::HandleInitDialog
{
wxSysColourChangedEvent vEvent;
- rEvent.m_eventObject = pWin;
+ rEvent.SetEventObject(pWin);
pWin->GetEventHandler()->ProcessEvent(vEvent);
}
node = node->GetNext();
rEvent.m_rightDown = (::WinGetKeyState(HWND_DESKTOP, VK_BUTTON2) &
0x8000) != 0;
rEvent.SetTimestamp(s_currentMsg.time);
- rEvent.m_eventObject = this;
+ rEvent.SetEventObject(this);
rEvent.SetId(GetId());
#if wxUSE_MOUSEEVENT_HACK
vEvent.m_controlDown = IsCtrlDown();
vEvent.m_altDown = (HIWORD(lParam) & KC_ALT) == KC_ALT;
- vEvent.m_eventObject = (wxWindow *)this; // const_cast
+ vEvent.SetEventObject((wxWindow *)this); // const_cast
vEvent.m_keyCode = nId;
vEvent.m_rawCode = (wxUint32)wParam;
vEvent.m_rawFlags = (wxUint32)lParam;
vEvent.SetPosition(wPos);
vEvent.SetOrientation(nOrientation);
- vEvent.m_eventObject = this;
+ vEvent.SetEventObject(this);
switch (wParam)
{
case SB_LINEUP:
- vEvent.m_eventType = wxEVT_SCROLLWIN_LINEUP;
+ vEvent.SetEventType(wxEVT_SCROLLWIN_LINEUP);
break;
case SB_LINEDOWN:
- vEvent.m_eventType = wxEVT_SCROLLWIN_LINEDOWN;
+ vEvent.SetEventType(wxEVT_SCROLLWIN_LINEDOWN);
break;
case SB_PAGEUP:
- vEvent.m_eventType = wxEVT_SCROLLWIN_PAGEUP;
+ vEvent.SetEventType(wxEVT_SCROLLWIN_PAGEUP);
break;
case SB_PAGEDOWN:
- vEvent.m_eventType = wxEVT_SCROLLWIN_PAGEDOWN;
+ vEvent.SetEventType(wxEVT_SCROLLWIN_PAGEDOWN);
break;
case SB_SLIDERPOSITION:
- vEvent.m_eventType = wxEVT_SCROLLWIN_THUMBRELEASE;
+ vEvent.SetEventType(wxEVT_SCROLLWIN_THUMBRELEASE);
break;
case SB_SLIDERTRACK:
- vEvent.m_eventType = wxEVT_SCROLLWIN_THUMBTRACK;
+ vEvent.SetEventType(wxEVT_SCROLLWIN_THUMBTRACK);
break;
default:
::WinQueryWindowPos( GetHwndOf(pWin)
,&vSwp
);
+ // Actually, only move children that already are placed on the
+ // frame, not ones which are still at wxDefaultCoord.
+ if (vSwp.y == wxDefaultCoord)
+ continue;
if (pWin->IsKindOf(CLASSINFO(wxControl)))
{
wxControl* pCtrl;