Пример #1
0
 public WindowPositionHandler(Window window, string windowName, WindowPositions settings)
 {
     Window                  = window;
     WindowName              = windowName;
     Configuration           = settings;
     window.SizeChanged     += Window_SizeChanged;
     window.LocationChanged += Window_LocationChanged;
     window.StateChanged    += Window_StateChanged;
     window.Loaded          += Window_Loaded;
 }
Пример #2
0
        public InfoWindow(string XMLInfoFile, WindowPositions winpos)
        {
            if (File.Exists(XMLInfoFile))
            {
                this._xmlInfoFile = XMLInfoFile;
                this._winpos = winpos;

                InitializeComponent();
                
                this.FormClosing += new FormClosingEventHandler(InfoWindow_FormClosing);
                this.Paint += new PaintEventHandler(InfoWindow_Paint);
                this.Resize += new EventHandler(InfoWindow_Resize);

                tmr.Interval = 5000;
                tmr.Tick += new EventHandler(tmr_Tick);

                btnClose.Click += new EventHandler(btnClose_Click);
            }
        }
Пример #3
0
        public InfoWindow(string XMLInfoFile, WindowPositions winpos)
        {
            if (File.Exists(XMLInfoFile))
            {
                _xmlInfoFile = XMLInfoFile;
                _winpos      = winpos;

                InitializeComponent();

                FormClosing += new FormClosingEventHandler(InfoWindow_FormClosing);
                Paint       += new PaintEventHandler(InfoWindow_Paint);
                Resize      += new EventHandler(InfoWindow_Resize);

                tmr.Interval = 5000;
                tmr.Tick    += new EventHandler(tmr_Tick);

                btnClose.Click += new EventHandler(btnClose_Click);
            }
        }
Пример #4
0
        public ChildFormWindow(string name, string caption, int width, int height, SummerGUIWindow parent, bool modal = false, GameWindowFlags flags = GameWindowFlags.Default, WindowPositions position = WindowPositions.CenterParent)
            : base(caption, width, height, parent, flags)
        {
            if (String.IsNullOrEmpty(name))
            {
                name = "ChildWindow";
            }

            Name    = name;
            IsModal = modal;

            if (!IsModal)
            {
                ShowInTaskBar = true;
                AllowMinimize = flags == GameWindowFlags.Default;
                AllowMaximize = flags == GameWindowFlags.Default;
            }
            else
            {
                // ToDo: FixMe:
                this.HideFromTaskbar();
            }

            // ToDo: Set Window Modal State on Platform

            /**	ToDo:
             * m_pDisplay->Create( NULL,  //CWnd default
             *      NULL,   //has no name
             *      WS_CHILD|WS_CLIPSIBLINGS|WS_CLIPCHILDREN|WS_VISIBLE,
             *      rect,
             *      this,   //this is the parent
             *      0);     //this should really be a different
             * //  number... check resource.h
             *
             * return TRUE;  // return TRUE  unless you set
             * //    the focus to a control
             **/
        }
Пример #5
0
        /// <summary>
        /// Calculates window end position.
        /// </summary>
        private static Rect CalculateWindowCoordinates(FrameworkElement window, WindowPositions pos, Screen screen)
        {
            switch (pos)
            {
            case WindowPositions.Center:
            {
                var x = screen.WpfBounds.X + (screen.WpfBounds.Width - window.Width) / 2.0;
                var y = screen.WpfBounds.Y + (screen.WpfBounds.Height - window.Height) / 2.0;

                return(new Rect(x * screen.ScaleFactor, y * screen.ScaleFactor, window.Width * screen.ScaleFactor, window.Height * screen.ScaleFactor));
            }

            case WindowPositions.Left:
            {
                var y = screen.WpfBounds.Y + (screen.WpfBounds.Height - window.Height) / 2.0;

                return(new Rect(screen.WpfBounds.X * screen.ScaleFactor, y * screen.ScaleFactor, window.Width * screen.ScaleFactor, window.Height * screen.ScaleFactor));
            }

            case WindowPositions.Top:
            {
                var x = screen.WpfBounds.X + (screen.WpfBounds.Width - window.Width) / 2.0;

                return(new Rect(x * screen.ScaleFactor, screen.WpfBounds.Y * screen.ScaleFactor, window.Width * screen.ScaleFactor, window.Height * screen.ScaleFactor));
            }

            case WindowPositions.Right:
            {
                var x = screen.WpfBounds.X + (screen.WpfBounds.Width - window.Width);
                var y = screen.WpfBounds.Y + (screen.WpfBounds.Height - window.Height) / 2.0;

                return(new Rect(x * screen.ScaleFactor, y * screen.ScaleFactor, window.Width * screen.ScaleFactor, window.Height * screen.ScaleFactor));
            }

            case WindowPositions.Bottom:
            {
                var x = screen.WpfBounds.X + (screen.WpfBounds.Width - window.Width) / 2.0;
                var y = screen.WpfBounds.Y + (screen.WpfBounds.Height - window.Height);

                return(new Rect(x * screen.ScaleFactor, y * screen.ScaleFactor, window.Width * screen.ScaleFactor, window.Height * screen.ScaleFactor));
            }

            case WindowPositions.TopLeft:
                return(new Rect(screen.WpfBounds.X * screen.ScaleFactor, screen.WpfBounds.Y * screen.ScaleFactor, window.Width * screen.ScaleFactor, window.Height * screen.ScaleFactor));

            case WindowPositions.TopRight:
            {
                var x = screen.WpfBounds.X + (screen.WpfBounds.Width - window.Width);

                return(new Rect(x * screen.ScaleFactor, screen.WpfBounds.Y * screen.ScaleFactor, window.Width * screen.ScaleFactor, window.Height * screen.ScaleFactor));
            }

            case WindowPositions.BottomRight:
            {
                var x = screen.WpfBounds.X + (screen.WpfBounds.Width - window.Width);
                var y = screen.WpfBounds.Y + (screen.WpfBounds.Height - window.Height);

                return(new Rect(x * screen.ScaleFactor, y * screen.ScaleFactor, window.Width * screen.ScaleFactor, window.Height * screen.ScaleFactor));
            }

            case WindowPositions.BottomLeft:
            {
                var y = screen.WpfBounds.Y + (screen.WpfBounds.Height - window.Height);

                return(new Rect(screen.WpfBounds.X * screen.ScaleFactor, y * screen.ScaleFactor, window.Width * screen.ScaleFactor, window.Height * screen.ScaleFactor));
            }

            case WindowPositions.Maximize:
                return(new Rect(screen.WpfBounds.X * screen.ScaleFactor, screen.WpfBounds.Y * screen.ScaleFactor, screen.WpfBounds.Width * screen.ScaleFactor, screen.WpfBounds.Height * screen.ScaleFactor));

            default:
                return(Rect.Empty);
            }
        }
Пример #6
0
        /// <summary>
        /// Moves window to desired position on screen.
        /// </summary>
        /// <param name="window">Window to move.</param>
        /// <param name="pos">Desired position.</param>
        /// <param name="screen">The screen to which we move.</param>
        public static void SetWindowPosition(this Window window, WindowPositions pos, Screen screen)
        {
            var coordinates = CalculateWindowCoordinates(window, pos, screen);

            window.SetWindowPosition((int)coordinates.X, (int)coordinates.Y, (int)coordinates.Width, (int)coordinates.Height);
        }