Ejemplo n.º 1
0
        static public bool winSetPlacement(IntPtr _windowHandle, winPlacement _placement, double _visibilityThreshold)
        {
            if (_placement.showCmd == SW_NORMAL && GetRatioInScreen(_placement.rcNormalPosition) < _visibilityThreshold)
            {
                return(false);
            }

            try
            {
                winPlacement placement = new winPlacement();
                placement.length                  = Marshal.SizeOf(placement);
                placement.flags                   = _placement.flags;
                placement.showCmd                 = _placement.showCmd;
                placement.ptMinPosition           = _placement.ptMinPosition;
                placement.ptMaxPosition           = _placement.ptMaxPosition;
                placement.rcNormalPosition        = _placement.rcNormalPosition;
                placement.rcNormalPosition.Width  = placement.rcNormalPosition.Width + placement.rcNormalPosition.Left;
                placement.rcNormalPosition.Height = placement.rcNormalPosition.Height + placement.rcNormalPosition.Top;
                SetWindowPlacement(_windowHandle, ref placement);
            }
            catch (System.Exception)
            {
                return(false);
            }

            return(true);
        }
Ejemplo n.º 2
0
        static public winPlacement winGetPlacement(IntPtr _windowHandle)
        {
            winPlacement placement = new winPlacement();

            placement.length = Marshal.SizeOf(placement);
            GetWindowPlacement(_windowHandle, ref placement);
            placement.rcNormalPosition.Width  = placement.rcNormalPosition.Width - placement.rcNormalPosition.Left;
            placement.rcNormalPosition.Height = placement.rcNormalPosition.Height - placement.rcNormalPosition.Top;
            return(placement);
        }
Ejemplo n.º 3
0
        static public windowPlacement getWindowPlacement(IntPtr _windowHandle)
        {
            winPlacement    wp        = winGetPlacement(_windowHandle);
            windowPlacement placement = new windowPlacement();

            placement.left      = wp.rcNormalPosition.Left;
            placement.top       = wp.rcNormalPosition.Top;
            placement.width     = wp.rcNormalPosition.Width;
            placement.height    = wp.rcNormalPosition.Height;
            placement.maximized = wp.showCmd == SW_MAXIMIZE;
            placement.minimized = wp.showCmd == SW_MINIMIZE;
            return(placement);
        }
Ejemplo n.º 4
0
        static public void winSetPlacement(IntPtr _windowHandle, winPlacement _placement)
        {
            winPlacement placement = new winPlacement();

            placement.length                  = Marshal.SizeOf(placement);
            placement.flags                   = _placement.flags;
            placement.showCmd                 = _placement.showCmd;
            placement.ptMinPosition           = _placement.ptMinPosition;
            placement.ptMaxPosition           = _placement.ptMaxPosition;
            placement.rcNormalPosition        = _placement.rcNormalPosition;
            placement.rcNormalPosition.Width  = placement.rcNormalPosition.Width + placement.rcNormalPosition.Left;
            placement.rcNormalPosition.Height = placement.rcNormalPosition.Height + placement.rcNormalPosition.Top;
            SetWindowPlacement(_windowHandle, ref placement);
        }
Ejemplo n.º 5
0
 static public bool winPlacementIsValid(winPlacement _placement)
 {
     return(_placement.length == Marshal.SizeOf(_placement));
 }
Ejemplo n.º 6
0
 static public void winPlacementSetInvalid(winPlacement _placement)
 {
     _placement.length = 0;
 }
Ejemplo n.º 7
0
 static extern bool SetWindowPlacement(IntPtr hWnd, ref winPlacement lpwndpl);