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; }
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); } }
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); } }
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 **/ }
/// <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); } }
/// <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); }