• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
MS always launches in full screen
#1
MobileSheets 3.0.0 always launches in full screen on my 3840x2160 desktop Windows 10 machine. 

Is this the way it is supposed to work? I would certainly prefer not.
Reply
#2
Go to Settings->Display Settings and uncheck "Fullscreen Mode" at the bottom. Then MobileSheets will come up in windowed mode. You can toggle between fullscreen and windowed mode by hitting f11 or tapping the fullscreen icon in the floating toolbar at the bottom right corner of the library screen.

Mike
Reply
#3
(01-08-2021, 06:20 AM)Zubersoft Wrote: Go to Settings->Display Settings and uncheck "Fullscreen Mode" at the bottom. Then MobileSheets will come up in windowed mode. You can toggle between fullscreen and windowed mode by hitting f11 or tapping the fullscreen icon in the floating toolbar at the bottom right corner of the library screen.

Mike

Thanks for your reply. 

I do have "Fullscreen Mode"  unchecked. 

It seems to depend on how I launch the app.  

If it is launched from 
- the Windows Start menu, via either an icon or a shortcut in the programs list it always launches maximized.
- an icon on the desktop, it launches as a non-maximized window, and correctly recalls its previous coordinates. 

I have a workaround for this now, that I sussed out while testing for my reply to you, it would be nice to understand the behavior, and whether it's possible to configure. 

Thanks again. 

Steve
Reply
#4
If I launch the app from the start menu, it will start full screen, but then take itself out of full screen once it's initialized and has read the setting for fullscreen mode. Are you saying if you load the app from the start menu, it stays full screen the entire time?

Thanks,
Mike
Reply
#5
(01-08-2021, 08:53 AM)Zubersoft Wrote: Are you saying if you load the app from the start menu, it stays full screen the entire time?
Yes, that's correct.
Reply
#6
I definitely don't have an answer for that then, as the app switches out of fullscreen after initializing when launched from the start menu for me. Is anyone else experiencing this full screen issue?

Thanks,
Mike
Reply
#7
I just tested this on my computer and this is what happened.

I launched MobileSheets from a taskbar shortcut. It opened in full screen mode, as that's how I had it set before. I then turned off full screen mode and closed the app. When I again opened it from the taskbar, it put itself back into full screen mode instead of staying in windowed mode.

Weird.
Reply
#8
I have the same behavior: From start always full screen, from an icon on the desktop: in a window
Reply
#9
Hi Mike

Sounds as though you are doing the form sizing in the OnShow or as an "after show" event.

The way I handle the sizing is to call my RestoreWindowPlacement routine in the FormCreate event.

Obviously, for this to work, you need to save the necessary screen settings in your FormClose event!

My code is in Delphi but I'm sure you can work it out/adapt to suit your code.

Cheers
Geoff


Code:
// The Prefix is so that I can use the routine to restore any form (and not just the main one).
// The routine does nothing if any of the registry values are invalid i.e. the program will use the form design values
// UsePPI is an input and allows you to ignore the settings if the screen resolution has changed

procedure TMainForm.RestoreWindowPlacement( AForm: TForm; Const Prefix: string; UsePPI: boolean);
Var
  bad: boolean;

  function ReadInteger( Name: string; Max: integer): integer;
  var
    str: string;
  begin
    str:= DataManager.GetKeyedString( Name );  // this is just getting a value from the registry (I use a .ini file)
    if IsNumeric( str, 0, Max) then
      Result:= StrToInt( str ) else
    begin
      bad:= true;
      Result:= -1;
    end;
  end;
Var
  Rect: TRect;
  FullScreen: integer;
  OldPPI : integer;
begin
  bad:= false;
  Rect.Top     := ReadInteger( Prefix + 'Top'      , Screen.WorkAreaHeight );  // args are "registry name", "screen variable"
  Rect.Left    := ReadInteger( Prefix + 'Left'     , Screen.WorkAreaWidth  );
  Rect.Bottom  := ReadInteger( Prefix + 'Height'   , Screen.WorkAreaHeight );
  Rect.Right   := ReadInteger( Prefix + 'Width'    , Screen.WorkAreaWidth  );
  if (AForm.BorderIcons - [biMinimize, biMaximize] ) <> AForm.BorderIcons then
    FullScreen := ReadInteger( Prefix + 'Maximized', 1 ) else
    FullScreen := 0;
  if usePPI then
    OldPPI     := ReadInteger( Prefix + 'PixelsPerInch', 999) else
    OldPPI     := PixelsPerInch;

  if bad or (OldPPI <> PixelsPerInch) then
    exit;

  Rect.Bottom  := Rect.Bottom + Rect.Top;
  Rect.Right   := Rect.Right  + Rect.Left;

  // Make sure the window is entirely visible on the screen
  if (Rect.Right > Screen.WorkAreaWidth) then begin
    Dec(Rect.Left, (Rect.Right - Screen.WorkAreaWidth));
    Rect.Right := Screen.WorkAreaWidth;
  end;
  if (Rect.Bottom > Screen.WorkAreaHeight) then begin
    Dec(Rect.Top, (Rect.Bottom - Screen.WorkAreaHeight));
    Rect.Bottom := Screen.WorkAreaHeight;
  end;

  AForm.BoundsRect := Rect;

  if FullScreen=1 then
    AForm.WindowState := wsMaximized;
end;
Samsung Galaxy Tab A6
Reply
#10
UWP is a different beast entirely. You aren't allowed to move the window location yourself and the fullscreen/windowed mode toggle is only accessible through a very specific API call which can only be triggered after the application is launched. 

Mike
Reply
#11
Fair enough

Geoff
Samsung Galaxy Tab A6
Reply
#12
Depending on what Microsoft devices to do with WinUI 3 and UWP going forward, I may decide to port the application to WinUI 3 and make it a standard Win32 application. That would open up a lot of possibilities, remove the file permission restrictions that creates a lot of headaches, fix various issues with MIDI and give me the ability to control things like window positioning. It will be a huge amount of work though, so I'm not moving forward until I see what direction Microsoft is going with things.

Mike
Reply




Users browsing this thread:
1 Guest(s)


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2024 MyBB Group.