Processing Ajax...

Title

Message

Confirm

Confirm

Confirm

Confirm

Are you sure you want to delete this item?

Confirm

Are you sure you want to delete this item?

Confirm

Are you sure?

Move a window to the left side, left middle, right middle, and right side with the 25% width, 33% height

Description
I found that this script is useful when I create and organize many small windows.
Language
C#.net
Minimum Version
Created By
Moonzoo Kim45775
Contributors
-
Date Created
Nov 7, 2017
Date Last Modified
Nov 7, 2017

Scripted Function (Macro) Code

using System;
using System.Drawing;

// The 'windowHandle' parameter will contain the window handle for the:
// - Active window when run by hotkey
// - Window Location target when run by a Window Location rule
// - TitleBar Button owner when run by a TitleBar Button
// - Jump List owner when run from a Taskbar Jump List
// - Currently focused window if none of these match

public static class DisplayFusionFunction

{

   public static void Run(IntPtr windowHandle)

   {          
		//check to see if there was an error, if there was, exit function
		if (windowHandle == IntPtr.Zero)
			return;

		//get the position of the window in the monitor, and the current monitor
		Rectangle windowRect = BFS.Window.GetBounds(windowHandle);
		Rectangle monitorRect = BFS.Monitor.GetMonitorWorkAreaByWindow(windowHandle);

		int iFinalWinW = monitorRect.Width / 4;
		int iFinalWinH = monitorRect.Height/3;

		int iFinalWinX = ((windowRect.X < iFinalWinW ? monitorRect.X : ((windowRect.X-iFinalWinW)/ iFinalWinW+1) * iFinalWinW));
		int iFinalWinY = ((windowRect.Y < iFinalWinH ? monitorRect.Y : ((windowRect.Y-iFinalWinH)/ iFinalWinH+1) * iFinalWinH));
	 
		if (( iFinalWinX + 2*iFinalWinW) > monitorRect.Width ) {
			iFinalWinX = monitorRect.X;
			iFinalWinY += iFinalWinH;
		}
		else iFinalWinX += iFinalWinW;
		
		iFinalWinY =  iFinalWinY +iFinalWinH > monitorRect.Height ? monitorRect.Y: iFinalWinY;                   

		BFS.Window.SetSizeAndLocation(windowHandle, iFinalWinX, iFinalWinY, iFinalWinW, iFinalWinH );
	}
}