Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   MainMenu seit 10.3 größer (https://www.delphipraxis.net/198714-mainmenu-seit-10-3-groesser.html)

DieDolly 25. Nov 2018 18:47


MainMenu seit 10.3 größer
 
Liste der Anhänge anzeigen (Anzahl: 2)
Seit 10.3 sind meine MainMenu-Einträge viel größer als zuvor mit 10.2. Vorher waren die Knöpfe der obersten Etage (Datei, ... Hilfe) nur so groß wie die Schrift.
Seit 10.3 aber haben die Knöpfe rechts alle ein Padding von etwa 20px.

Bekommt man das irgendwie weg? OwnerDraw hab ich auf True und muss leider auch so sein. Aber ich verändere nirgendwo die Größe.

Fakten:
Bild 1 OwnerDraw True.
Bild 2 OwnerDraw False (Standard). Wenn False, dann ist der Hover-Effekt aber nicht wie er sein sollte.
Main MainMenu ist mit einer ImageList verknüpft. Setze ich ImageIndex von Datei auf irgendwas außer -1, wird der Knopf im modernen Stil und ohne Padding dargestellt.
Lasse ich die ImageList komplett weg, ist alles richtig.

Fakten 2, wie man das Problem temporär beseitigt
- das Property ImageList des MainMenu muss leer bleiben
- das Property SubImages der Haupt-Knöpfe des Menus bekommt jeweils die ImageList
- Problem erst einmal beseitigt.

Uwe Raabe 26. Nov 2018 06:47

AW: MainMenu seit 10.3 größer
 
Nur ein Hinweis: Delphi behandelt ein Menü mit ImageList intern wie ein OwnerDraw Menü.

DieDolly 26. Nov 2018 10:53

AW: MainMenu seit 10.3 größer
 
Weißt du, warum das beim Zuweisen von SubImages anders ist?
Dieses Verhalten war bei 10.2 noch nicht so. Entweder war es vorher falsch und ich habe davon profitiert und jetzt ist es richtig und ich spüre die Nebenwirkungen von damals oder, ich weiß nicht.

Uwe Raabe 26. Nov 2018 11:27

AW: MainMenu seit 10.3 größer
 
Liste der Anhänge anzeigen (Anzahl: 3)
Ich habe die Änderungen noch nicht im Detail analysiert, vermute aber, daß hier versehentlich die ShortCutGap (der Bereich zwischen Caption und Shortcut im dargestellten Text) auch für die Toplevel-Einträge berücksichtigt wird, obwohl die gar keinen ShortCut anzeigen. Früher wurde das bei OwnerDraw-Menüs (und dazu gehören eben auch solche mit ImageList) einfach ignoriert.

Die aktuelle Darstellung der OwnerDraw-Menüs ist zwar schon etwas besser als in 10.2, kommt aber noch nicht an das Windows-Original heran. Leider hat man meine diesbezüglichen Änderungen nicht vollständig übernommen.

Als Beispiel hier ein Standard-Menü, ein Owner-Draw aus 10.2 und eines aus 10.3 - man sieht deutlich die ShortCutGap in 10.3, aber trotzdem ist die Darstellung noch nicht perfekt.

DieDolly 26. Nov 2018 11:37

AW: MainMenu seit 10.3 größer
 
Dann lässt sich nur auf ein Update hoffen. Zeit genug deinen Code zu übernehmen war eigentlich gegeben.

Uwe Raabe 26. Nov 2018 12:10

AW: MainMenu seit 10.3 größer
 
Zitat:

Zitat von DieDolly (Beitrag 1419243)
Dann lässt sich nur auf ein Update hoffen. Zeit genug deinen Code zu übernehmen war eigentlich gegeben.

Ich vermute, man hat das Problem gar nicht verstanden. Es gibt ja auch keinen QP-Eintrag dafür, den man hätte abhaken können. Die IDE selbst leidet übrigens auch daran.

Das mit der ShortCutGap im Toplevel Menü ist allerdings in der Tat ein Bug und den solltest du vielleicht auch melden. Schließlich hast du ihn auch gefunden.

uligerhardt 26. Nov 2018 13:13

AW: MainMenu seit 10.3 größer
 
Ich weiß nur, dass sich David Heffernan seit Jahren mit dem Thema Menüs in der VCL beschäftigt. Wenn ich ihn richtig verstanden habe, könnte man das ganze Rendering (auch mit ImageLists) mittlerweile einfach Windows überlassen und gut wär's.

Edit: Z.B. hier: https://stackoverflow.com/questions/...ible-in-delphi

Uwe Raabe 26. Nov 2018 13:36

AW: MainMenu seit 10.3 größer
 
Zitat:

Zitat von uligerhardt (Beitrag 1419250)
Ich weiß nur, dass sich David Heffernan seit Jahren mit dem Thema Menüs in der VCL beschäftigt. Wenn ich ihn richtig verstanden habe, könnte man das ganze Rendering (auch mit ImageLists) mittlerweile einfach Windows überlassen und gut wär's.

Das trifft nur für Standard-Menüs mit Images zu und erfordert dazu noch spezielle Eigenschaften der Icons. Sobald aber echtes OwnerDraw ins Spiel kommt, ist das leider keine Option mehr. Es ist aber erwiesenermaßen durchaus möglich, das Windows-Verhalten nachzubilden (obwohl Microsoft sich bei der Spezifikation sehr bedeckt hält). Man muss sich nur etwas Mühe geben oder meine Änderungen einpflegen.

DieDolly 26. Nov 2018 14:03

AW: MainMenu seit 10.3 größer
 
Zitat:

Man muss sich nur etwas Mühe geben oder meine Änderungen einpflegen.
Dieser Satz trifft es doch vorzüglich.

KodeZwerg 26. Nov 2018 14:31

AW: MainMenu seit 10.3 größer
 
Nur um es zu komplettieren, wo bitte gibt es diese "Änderungen zum einpflegen"?
Ich habe es bestimmt überlesen...

mkinzler 26. Nov 2018 14:35

AW: MainMenu seit 10.3 größer
 
Uwe hat sie EMBT zur Verfügung gestellt

https://www.delphipraxis.net/196643-...uwe-raabe.html

KodeZwerg 26. Nov 2018 14:36

AW: MainMenu seit 10.3 größer
 
Ach bei den High DPI patches, darauf wäre ich jetzt nicht gekommen, vielen Dank @mkinzler :thumb:

Uwe Raabe 26. Nov 2018 15:03

AW: MainMenu seit 10.3 größer
 
Zitat:

Zitat von KodeZwerg (Beitrag 1419263)
Nur um es zu komplettieren, wo bitte gibt es diese "Änderungen zum einpflegen"?
Ich habe es bestimmt überlesen...

High DPI Patches For Delphi

Basieren allerdings auf den Originalsourcen von Delphi 10.2.3 Tokyo.

EWeiss 26. Nov 2018 17:06

AW: MainMenu seit 10.3 größer
 
Man sollte bei der ganzen Spielerei aber darauf achten das die Animation der Windows Menus temporär abgeschaltet werden
wenn man beabsichtigt mit Ownerdraw Menus zu Arbeiten.

Es könnte sein das es dann zu Artefakten in Verbindung mit dem Ownerdraw Menus kommt.

Zusätzlich schlägt dann der Aufruf von
Delphi-Quellcode:
hMenuWnd := WindowFromDC(Pdis^.hDC);


fehl das Handle ist dann immer 0. (Windows 10 im speziellen) bei Win7 nicht nötig.
Dort kann man aber auch als alternative
Delphi-Quellcode:
hMenuWnd := FindWindow('#32768', nil);


verwenden ohne die Animation ausschalten zu müssen.
Wollte nur mal darauf hinweisen.


gruss

DieDolly 26. Nov 2018 17:12

AW: MainMenu seit 10.3 größer
 
Die Artefakte die hier zu sehen sind sind leider ein Bug.

EWeiss 26. Nov 2018 17:14

AW: MainMenu seit 10.3 größer
 
Zitat:

Zitat von DieDolly (Beitrag 1419284)
Die Artefakte die hier zu sehen sind sind leider ein Bug.

Ich rede grundsätzlich bei der Verwendung von Ownerdraw Menus was nichts speziell mit Delphi zu tun hat. ;)

gruss

TurboMagic 9. Dez 2018 15:11

AW: MainMenu seit 10.3 größer
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1419244)
Zitat:

Zitat von DieDolly (Beitrag 1419243)
Dann lässt sich nur auf ein Update hoffen. Zeit genug deinen Code zu übernehmen war eigentlich gegeben.

Ich vermute, man hat das Problem gar nicht verstanden. Es gibt ja auch keinen QP-Eintrag dafür, den man hätte abhaken können.

Ja wenn du weiterhin keinen QP Eintrag dafür erstellst, wird's wohl auch weiterhin nicht geändert werden... :wink:

Uwe Raabe 9. Dez 2018 18:05

AW: MainMenu seit 10.3 größer
 
Zitat:

Zitat von TurboMagic (Beitrag 1420407)
Ja wenn du weiterhin keinen QP Eintrag dafür erstellst, wird's wohl auch weiterhin nicht geändert werden... :wink:

Na ja, das war eher ironisch gemeint, denn das Problem hatte ich mit ausreichend Beispielen und Erläuterungen und insbesondere auch einer Lösung an Embarcadero, namentlich David Millington, geschickt. Interessanterweise hat man ja das Short-Cut Gap auch übernommen - was aber nur ein Teil des Problems ist.

Aber das ist ja nun schon wieder Geschichte und die Karten werden neu gemischt. Ich werde dann mal bei nächster Gelegenheit einen entsprechenden QP-Eintrag erstellen und dann sehen wir mal, was damit passiert. Bisher scheint dieses spezielle Problem aber außer mir noch keinem aufgestoßen zu sein.

Dennis07 9. Dez 2018 23:28

AW: MainMenu seit 10.3 größer
 
Kann ich bestätigen, das alte TMainMenu und TActionMenu war leider etwas verbugt auf manchen Geräten. Das hat Emb gefixt. Hatte den QC-Eintrag gelesen, kann ihn aber gerade nicht mehr verlinken. Ist also gewollt.

Dennis07 12. Dez 2018 19:02

AW: MainMenu seit 10.3 größer
 
Okay, habe nochmal mit jemandem gesprochen, der dafür einen QC-Eintrag gemacht hatte. Scheinbar wurde nur die halbe Lösung (die er nebenbei bemerkt dort auch drinnen präsentiert hat, die hätten das nur noch copy-pasten müssen) übernommen. Deshalb sieht es immer noch nicht so aus. Nach dem Subscription-Vertrag hätten die es eigentlich fixen müssen, aber haben sie wohl nicht.
Weiß jemand, ob es einen neuen QC dafür gibt??

EWeiss 12. Dez 2018 19:07

AW: MainMenu seit 10.3 größer
 
Zitat:

Kann ich bestätigen, das alte TMainMenu und TActionMenu war leider etwas verbugt auf manchen Geräten. Das hat Emb gefixt.
Dann versuche mal beim Popupmenu ein Action auszulösen.
Wenn das immer noch geht dann wurde es definitiv nicht gefixt.

Das ist kein normales verhalten das eine Event ausgelöst wird wenn das Main Menu Submenus enthält.

gruss

Dennis07 14. Dez 2018 16:04

AW: MainMenu seit 10.3 größer
 
Habe mich korrigiert...

Zitat:

Zitat von Dennis07 (Beitrag 1420697)
Okay, habe nochmal mit jemandem gesprochen, der dafür einen QC-Eintrag gemacht hatte. Scheinbar wurde nur die halbe Lösung (die er nebenbei bemerkt dort auch drinnen präsentiert hat, die hätten das nur noch copy-pasten müssen) übernommen. Deshalb sieht es immer noch nicht so aus. Nach dem Subscription-Vertrag hätten die es eigentlich fixen müssen, aber haben sie wohl nicht.
Weiß jemand, ob es einen neuen QC dafür gibt??


TurboMagic 14. Dez 2018 17:46

AW: MainMenu seit 10.3 größer
 
Hallo,

einen neuen QC Eintrag wird's ganz sicher nicht mehr geben. Bei einem QP Eintrag sieht's evtl. anders aus und noch
anders sieht's aus, wenn den jemand neu anlegt, falls er noch nicht existieren sollte... ;-)

Grüße

TurboMagic

Dennis07 14. Dez 2018 19:05

AW: MainMenu seit 10.3 größer
 
Zitat:

Zitat von TurboMagic (Beitrag 1420895)
einen neuen QC Eintrag wird's ganz sicher nicht mehr geben. Bei einem QP Eintrag sieht's evtl. anders aus

Haben die das etwa umbenannt? Ich dachte immer das hieß QualityCentral...?

TurboMagic 14. Dez 2018 23:14

AW: MainMenu seit 10.3 größer
 
Guten Morgen Dennis07, :-D

ja bei der Umstellung vom eigenen System auf Jira haben die das damals von QC nach QP umbenannt.
Müsste ja auch so auf dem Bildschirm stehen.

Soll das etwa heißen, dass du seit dem nicht mehr im Bugtracker warst?! :shock:

Grüße

Markus


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:26 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz