示例#1
0
        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();
        }
示例#2
0
        private void CloseGlows()
        {
            foreach (var sideGlow in _glows)
            {
                sideGlow.Close();
            }

            _glows.Clear();

            _topGlow    = null;
            _bottomGlow = null;
            _leftGlow   = null;
            _rightGlow  = null;
        }