internal ForeignMdiWindow(IntPtr hWndMdiClient, IHookedProcess hook)
        {
            Contract.Requires(hook != null);

            this.Hook          = hook;
            this.ForeignWindow = hook.GetMdiWindow(hWndMdiClient);
        }
        internal void Attach(IHookedMdiWindow foreignWindow)
        {
            Contract.Requires(foreignWindow != null);

            this.AssertNotCreated();
            Surrogate = foreignWindow.CreateChild(Text, new Rectangle(SurrogateLocation, SurrogateSize), IsResizable, IsMovable, Proxy);
            if (IsHandleCreated)
            {
                this.SetParent(Surrogate.ContentPanelHandle);
            }
            else
            {
                this.CreateControl();
            }
            this.Size = Surrogate.Size;
        }