TAdvToolBarPager issue when UIStyle is office 2019

Create a new project with single main form. Add a TAdvToolBarPager to the form and ensure UIStyle is set to tsOffice2019White. Ensure form is descended from TAdvToolBarForm. Compile and run application.
Maximize application - appliaction stays on top of windows task bar and shows a small gap at base of screen.
Change the UIStyle to tsOffice2010Blue, for example, and when application is maximized there is no bottom gap and the windows taskbar displays correctly.

Hello,

I did exactly as you mentioned and I do not see this problem.
Could it be possible that some other things need to be changed?

Any idea what "other things" I might need to look at changing? I simply dropped the component on a blank form and compiled!

Is your windows taskbar set to automatically hide (it looks like its fixed)?. Mine is set to auto-hide in desktop mode in windows settings.

Right, I'm either doing something very wrong or there are problems with your code!

I've created a simple test project with a TAdvToolBarPager on a new form descended from TAdvToolBarForm. I've then added two buttons to let me switch at run-time between two office styles; code as below:

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
	Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, AdvToolBar, AdvStyleIF;

type
	TForm1 = class(TAdvToolBarForm)
		AdvToolBarPager1: TAdvToolBarPager;
		AdvToolBarPager11: TAdvPage;
		AdvToolBarPager12: TAdvPage;
		AdvToolBarPager13: TAdvPage;
		Button1: TButton;
		Button2: TButton;
		procedure Button1Click(Sender: TObject);
		procedure Button2Click(Sender: TObject);
	private
		{ Private declarations }
	public
		{ Public declarations }
	end;

var
	Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
	AdvToolBarPager1.UIStyle := tsOffice2019White;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
	AdvToolBarPager1.UIStyle := tsOffice2010Blue;
end;

end.

When run I get these results:

Starts in Office2019 white style.

Note: the window shadow is not standard as compared to file browser window below which is more diffused (just an observation).

Maximize the window and my windows taskbar (which is set to auto-hide) is behind the application window (screenshot shows base of application window with my task bar visible behind - the orange bars are active tasks):
tms2

Use BUTTON2 to switch to Office2010 blue style:

Run on a Windows 7 system the window looks like this:
tms6

So, I guess Office 2010 on Windows 10 fails to account for the change in O/S window style?

Maximize the window and my windows taskbar is still behind the application, but is now not even visible - I guess because of the oversized shadow window.

tms4

Use BUTTON1 to switch back to 2019 style, then BUTTON2 to switch again to 2010 (might need to do this a few times), eventually you see this in 2010 style mode:

tms5

Note: the cut-out top-right where windows min/max/close should be and an artifact on the top-left. OK, I'm being picky now - but it's a bit strange. You can also see these white blocks on the Win7 screenshot above.

So, am I setting this up wrong? Are there bugs in the TMS toolbar / form components?

I also tried using the TMS toolbar wizard "TMS Office 2019 ribbon application" and get the same results.

I'm using RAD studio 10.4.2 Sydney on Windows 10 Pro. Test applications written with Delphi although I use C++ day-to-day (you get the same results). I ran in to these issues whilst migrating two of our projects from RAD studio XE. I need both applications to run on Windows 7 and 10 (including both embedded variants) so want to use the 2010 style for Win7 and 2019 for Win10.

It should also be noted that using RAD Studio XE with TMS 6.9.1.0 (TAdvToolBarPager 5.4.6.0) on Win7 I have no issues - toolbards draw as expected and windows taskbar / form z-order behaves correctly.

Changing the style involves more than just changing TAdvToolBarPager.UIStyle as there is a form involved, the app menu, ...
The correct way to change the entire app style is to use a TAdvFormStyler and change AdvFormStyler.Style.
This sample demonstraters this.
Project1.zip (22.9 KB)

Hi Bruno,

Thanks for the sample - but this still results in exactly the same outcome as I detailed in the previous post.

I'm not that bothered by the form shadows and artifact issues. The thing that I really need to resolve is why does the form stay above my windows taskbar. Can you please test, using your sample project, that when you maximize the form the windows taskbar pops up when it is set to auto-hide. The test Gjalt performed earlier in this thread was with auto-hide off.

My taskbar settings:

My sample was created to show the style changing.
My colleague informed we are investigating the issue with auto-hide taskbar.

Thanks Bruno, hopefully you guys will be able to reproduce the issue or suggest a work-around.

Is there any progress on this issue?
Thanks.

We have fixed the issue with the 5pixel gap in Office 2019 mode and this fix will be included in the next release.

Great, looking forward to seeing the fix.

I have come across another issue which is kind of related - to do with the TAdvQuickAccessToolbar when in Office 2019 mode.

The menu is missing elements when compared to Office 2010 mode and also does not open with ALT-SPACE. The restore item in 2019 mode should be disabled and is missing move, size and maximise.

2019:
QAT2019

2010:
QAT2010

Hello,

I've updated to the 10.5.8.1 (30/06/2021) release and whilst the 5 pixel gap issue is resolved the Windows taskbar is still behind the main form window when maximised. Have you been able to reproduce this issue with the taskbar settings noted in my previous post (#6)? I can reproduce the issue on multiple desktop PC's (with auto-hide taskbar active) so I don't think it's anything to do with my specific PC set-up.

The issue I reported with the application task menu is also still present (in post #11).

Hello, anybody there?!

Do I need to start a new thread or how should I progress solving reported issues?

We spent already a considerable amount of time to investigate this. We could so far not allocate further additional time due to a high workload so it is on the todolist.
With the auto-hide tab, there must be some side effect with the form type used for the ribbon form (I actually saw the Delphi IDE had a similar behavior). This issue seems as such due to some Windows specifics and we couldn't find ways to workaround this.
The application menu is also something Windows itself decides to show. This menu is not created from our component. Also here, it seems a Windows specific behavior to think this application menu only needs these menu items and we have not found a workaround yet for this. It needs further (and most likely lengthy) investigation.

Thankyou for at least having the courtesy to reply. Communication is always good, even if its bad news.

I understand you have time issues and hope you get a chance to re-visit the issue at some point in the near future. In the meantime could you point me at the code where the ribbon form is created / set-up so I could maybe have a poke around?