protected override void OnWindowPositionChanged(Rect bounds)
{
//Its okay to process this if we the control is not yet created
_boundRect = bounds;
//These are already transformed to client co-ordinate/device units for high dpi also
_bounds.left = (int) bounds.X;
_bounds.top = (int) bounds.Y;
_bounds.right = (int) (bounds.Width + bounds.X);
_bounds.bottom = (int) (bounds.Height + bounds.Y);
//SetExtent only sets height and width, can call it for perf if X, Y haven't changed
//We need to call SetObjectRects instead, which updates X, Y, width and height
//OnActiveXRectChange calls SetObjectRects
this.ActiveXSite.OnActiveXRectChange(_bounds);
}