Example #1
0
        public FormShadowDecorator(Form window, bool enable = true)
        {
            parentWindow     = window;
            parentWindowHWnd = window.Handle;

            topFormShadow    = new FormShadowElement(FormShadowDockPositon.Top, parentWindowHWnd, this);
            leftFormShadow   = new FormShadowElement(FormShadowDockPositon.Left, parentWindowHWnd, this);
            bottomFormShadow = new FormShadowElement(FormShadowDockPositon.Bottom, parentWindowHWnd, this);
            rightFormShadow  = new FormShadowElement(FormShadowDockPositon.Right, parentWindowHWnd, this);

            shadows.Add(topFormShadow);
            shadows.Add(leftFormShadow);
            shadows.Add(bottomFormShadow);
            shadows.Add(rightFormShadow);

            AssignHandle(parentWindowHWnd);


            User32.ShowWindow(topFormShadow.Handle, ShowWindowStyles.SW_SHOWNOACTIVATE);
            User32.ShowWindow(leftFormShadow.Handle, ShowWindowStyles.SW_SHOWNOACTIVATE);
            User32.ShowWindow(bottomFormShadow.Handle, ShowWindowStyles.SW_SHOWNOACTIVATE);
            User32.ShowWindow(rightFormShadow.Handle, ShowWindowStyles.SW_SHOWNOACTIVATE);


            isEnabled = false;
            AlignSideShadowToTopMost();



            Enable(true);
        }
Example #2
0
        //private void HandleSideMouseDown(object sender, FormShadowResizeArgs e)
        //{
        //	if (e.Mode == HitTest.HTNOWHERE || e.Mode == HitTest.HTCAPTION)
        //	{
        //		return;
        //	}
        //	User32.PostMessage(parentWindowHWnd, (uint)WindowsMessages.WM_SETFOCUS, IntPtr.Zero, IntPtr.Zero);
        //	User32.SendMessage(parentWindowHWnd, (uint)WindowsMessages.WM_SYSCOMMAND, (IntPtr)e.Mode.ToInt(), IntPtr.Zero);
        //}

        private void CloseShadows()
        {
            foreach (var sideShadow in shadows)
            {
                sideShadow.Close();
            }

            shadows.Clear();

            topFormShadow    = null;
            bottomFormShadow = null;
            leftFormShadow   = null;
            rightFormShadow  = null;
        }