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?

User Image
David Twiss990318
1 discussion post
I'm just getting started with Display Fusion and its great. The code below mitrrors the selected region to a second monitor and tries to maximise and hide the title bar. I'v had all the parts working [drawn from previous posts] but the ensemble falls short; not sure why.

Code

using System;
using System.Drawing;

// The 'windowHandle' parameter will contain the window handle for the:
//   - Active window when run by hotkey
//   - Trigger target when run by a Trigger 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)
    {
        // your code goes here
        windowHandle = BFS.DisplayFusion.MirrorSelectedArea(196, 86, 800, 600);
        BFS.Window.MoveToMonitorMaximized(2, windowHandle);
        
                //get the window styles
        BFS.WindowEnum.WindowStyle style = BFS.Window.GetWindowStyle(windowHandle);
        

        //make sure to remove the styles. just toggling these settings may turn on something we dont want
        style &= ~BFS.WindowEnum.WindowStyle.WS_CAPTION;
        style &= ~BFS.WindowEnum.WindowStyle.WS_SYSMENU;
        style &= ~BFS.WindowEnum.WindowStyle.WS_THICKFRAME__SIZEBOX;
        style &= ~BFS.WindowEnum.WindowStyle.WS_MINIMIZEBOX;
        
        //get the bounds of the monitor that the window is in
        Rectangle bounds = BFS.Monitor.GetMonitorBoundsByWindow(windowHandle);
            
        //set the window style
        BFS.Window.SetWindowStyle(style, windowHandle);
                        
        //size and position the window to be fullscreen within the monitor
        BFS.Window.SetSizeAndLocation(windowHandle, bounds.X, bounds.Y, bounds.Width, bounds.Height);

    }
    
        //this is a function that will save the window size and position in window properties
    private static void SaveWindowSize(IntPtr windowHandle)
    {
        Rectangle bounds = BFS.Window.GetBounds(windowHandle);
        BFS.Window.SetWindowProperty(windowHandle, "ToggleFullscreen_X", new IntPtr(bounds.X));
        BFS.Window.SetWindowProperty(windowHandle, "ToggleFullscreen_Y", new IntPtr(bounds.Y));
        BFS.Window.SetWindowProperty(windowHandle, "ToggleFullscreen_Width", new IntPtr(bounds.Width));
        BFS.Window.SetWindowProperty(windowHandle, "ToggleFullscreen_Height", new IntPtr(bounds.Height));
        BFS.Window.SetWindowProperty(windowHandle, "ToggleFullscreen_IsMaximized", new IntPtr(BFS.Window.IsMaximized(windowHandle) ? 1 : 0));
    }
    
    private static Rectangle GetSavedWindowSize(IntPtr windowHandle, out bool isMaximized)
    {
        Rectangle bounds = new Rectangle();
        bounds.X = BFS.Window.GetWindowProperty(windowHandle, "ToggleFullscreen_X").ToInt32();
        bounds.Y = BFS.Window.GetWindowProperty(windowHandle, "ToggleFullscreen_Y").ToInt32();
        bounds.Width = BFS.Window.GetWindowProperty(windowHandle, "ToggleFullscreen_Width").ToInt32();
        bounds.Height = BFS.Window.GetWindowProperty(windowHandle, "ToggleFullscreen_Height").ToInt32();
        isMaximized = (BFS.Window.GetWindowProperty(windowHandle, "ToggleFullscreen_IsMaximized").ToInt32() == 1);
        return bounds;
    }
}


grateful for any assistance
David
Feb 18, 2020  • #1
Keith Lammers (BFS)'s profile on WallpaperFusion.com
I'll pass this over to one of our developers to see if he can help out here.

Thanks!
Feb 19, 2020  • #2
Keith Lammers (BFS)'s profile on WallpaperFusion.com
We've just released a new DisplayFusion Beta version, and we've added a new function that should help out here. Try this one out: BFS.DisplayFusion.MirrorSelectedAreaNoBorder

Hope that helps!
Mar 6, 2020  • #3
Subscribe to this discussion topic using RSS
Was this helpful?  Login to Vote(-)  Login to Vote(-)