//--------------------------------------------------------------------------- // wxActiveXContainer::OnSize // // Called when the parent is resized - we need to do this to actually // move the ActiveX control to where the parent is //--------------------------------------------------------------------------- void wxActiveXContainer::OnSize(wxSizeEvent& event) { int w, h; GetParent()->GetClientSize(&w, &h); RECT posRect; posRect.left = 0; posRect.top = 0; posRect.right = w; posRect.bottom = h; if (w <= 0 || h <= 0) return; // extents are in HIMETRIC units if (m_oleObject.IsOk()) { SIZEL sz = {w, h}; PixelsToHimetric(sz); SIZEL sz2; m_oleObject->GetExtent(DVASPECT_CONTENT, &sz2); if (sz2.cx != sz.cx || sz.cy != sz2.cy) m_oleObject->SetExtent(DVASPECT_CONTENT, &sz); } if (m_oleInPlaceObject.IsOk()) m_oleInPlaceObject->SetObjectRects(&posRect, &posRect); event.Skip(); }
//--------------------------------------------------------------------------- // wxActiveXContainer::OnSize // // Called when the parent is resized - we need to do this to actually // move the ActiveX control to where the parent is //--------------------------------------------------------------------------- void wxActiveXContainer::OnSize(wxSizeEvent& event) { int w, h; GetParent()->GetClientSize(&w, &h); RECT posRect; posRect.left = 0; posRect.top = 0; posRect.right = w; posRect.bottom = h; if (w <= 0 && h <= 0) return; // extents are in HIMETRIC units if (m_oleObject.Ok()) { m_oleObject->DoVerb(OLEIVERB_HIDE, 0, m_clientSite, 0, (HWND)m_realparent->GetHWND(), &posRect); SIZEL sz = {w, h}; PixelsToHimetric(sz); SIZEL sz2; m_oleObject->GetExtent(DVASPECT_CONTENT, &sz2); if (sz2.cx != sz.cx || sz.cy != sz2.cy) m_oleObject->SetExtent(DVASPECT_CONTENT, &sz); m_oleObject->DoVerb(OLEIVERB_SHOW, 0, m_clientSite, 0, (HWND)m_realparent->GetHWND(), &posRect); } if (m_oleInPlaceObject.Ok()) m_oleInPlaceObject->SetObjectRects(&posRect, &posRect); event.Skip(); }