internal void Attach(Window window, bool enable = true) { if (_isAttached) { return; } _isAttached = true; _window = window; _parentWindowHndl = window.GetHandle(); _topGlow = new SideGlow(Dock.Top, _parentWindowHndl); _leftGlow = new SideGlow(Dock.Left, _parentWindowHndl); _bottomGlow = new SideGlow(Dock.Bottom, _parentWindowHndl); _rightGlow = new SideGlow(Dock.Right, _parentWindowHndl); _glows.Add(_topGlow); _glows.Add(_leftGlow); _glows.Add(_bottomGlow); _glows.Add(_rightGlow); User32.ShowWindow(_topGlow.Handle, ShowWindowStyles.SW_SHOWNOACTIVATE); User32.ShowWindow(_leftGlow.Handle, ShowWindowStyles.SW_SHOWNOACTIVATE); User32.ShowWindow(_bottomGlow.Handle, ShowWindowStyles.SW_SHOWNOACTIVATE); User32.ShowWindow(_rightGlow.Handle, ShowWindowStyles.SW_SHOWNOACTIVATE); _isEnabled = false; AlignSideGlowTopMost(); Enable(true); HookOnce(); }
private void CloseGlows() { foreach (var sideGlow in _glows) { sideGlow.Close(); } _glows.Clear(); _topGlow = null; _bottomGlow = null; _leftGlow = null; _rightGlow = null; }