Display bug in TAdvMenu

Hi Folks,
There's a display bug in submenus (when using VCL styles, haven't tried without VCL styles). The submenu's shadow is offset to the right and there's a bit of "pixel dirt" on the left side of the submenu as shown in the following screenshot.

Our workaround is to set the variable "TriangleWidth" to zero, which results in the expected behaviour and didn't cause any other unwanted side effects.

Here's the unified diff, created with TortoiseMerge.

--- D:/Delphi/TMS VCL UI Pack v10.3.2.0/AdvMenus.pas    Do 11. Jun 10:15:44 2020
+++ ./AdvMenus.pas    Fr 19. Jun 15:36:45 2020
@@ -284 +284 @@ var
-  TriangleSize : integer = 17; // size of the _default_ submenu triangle
+  TriangleSize : integer = 0; //17; // size of the _default_ submenu triangle // Workaround für #33280 Grafikfehler: Untermenüs im Hauptmenü haben einen breiten durchsichtigen Rand
@@ -5942 +5942 @@ begin
-  TriangleSize := Round(17 * GetDPIScale);
+  TriangleSize := 0; //Round(17 * GetDPIScale); // Workaround für #33280 Grafikfehler: Untermenüs im Hauptmenü haben einen breiten durchsichtigen Rand

PS: I spent 20 Minutes trying to insert a screenshot into this post and gave up. If you are interested, I'll send the screenshot via direct mail. This forum software is the pure horror.

PPS: and after 20 minutes my session has expired, so I have to redo everything. This is a really bad user experience. Please do something about it.


For screenshots, you have to post the images to your own web server and provide a link to it. I also find it extremely frustrating.

Stay tuned for radical changes to this support channel very soon now.

I tried with google photos, but that didn't work either.

This is a very handy tool:

Thanks for the hint. I didn't know snipboard yet.

here's the image which shows the bug:

and here the same menu after setting trianglewidth to zero:

Is there a reason for using TAdvMenus when you use VCL styles?
With VCL styles, the standard VCL TMainMenu style is adapted anyway, so I'm unsure why you would need TAdvMenus in this case?

Hi Bruno,

I cannot rule out that it is a relic of old times that nobody has questioned when we switched to VCL styles.
IIRC, it was not possible to place "any" control on a standard VCL toolbar and the standard TMainMenu occupied the entire width, so we used the TAdv* components to achieve what we wanted.

The full menu/toolbar looks like this:

There may be another toolbar between the pin and the "offline" text, depending on the user configuration.

PS. I just noticed that I had my 10 year anniversary on this forum exactly a week ago :D