AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MainMenu seit 10.3 größer

Ein Thema von DieDolly · begonnen am 25. Nov 2018 · letzter Beitrag vom 15. Dez 2018
Antwort Antwort
Seite 1 von 3  1 23      
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#1

MainMenu seit 10.3 größer

  Alt 25. Nov 2018, 19:47
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.
Angehängte Grafiken
  

Geändert von DieDolly (26. Nov 2018 um 00:05 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#2

AW: MainMenu seit 10.3 größer

  Alt 26. Nov 2018, 07:47
Nur ein Hinweis: Delphi behandelt ein Menü mit ImageList intern wie ein OwnerDraw Menü.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#3

AW: MainMenu seit 10.3 größer

  Alt 26. Nov 2018, 11:53
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.

Geändert von DieDolly (26. Nov 2018 um 12:03 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#4

AW: MainMenu seit 10.3 größer

  Alt 26. Nov 2018, 12:27
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.
Miniaturansicht angehängter Grafiken
standard.png   ownerdraw10.2.png   ownerdraw10.3.png  
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#5

AW: MainMenu seit 10.3 größer

  Alt 26. Nov 2018, 12:37
Dann lässt sich nur auf ein Update hoffen. Zeit genug deinen Code zu übernehmen war eigentlich gegeben.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#6

AW: MainMenu seit 10.3 größer

  Alt 26. Nov 2018, 13:10
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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#7

AW: MainMenu seit 10.3 größer

  Alt 26. Nov 2018, 14:13
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
Uli Gerhardt

Geändert von uligerhardt (26. Nov 2018 um 15:25 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#8

AW: MainMenu seit 10.3 größer

  Alt 26. Nov 2018, 14:36
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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#9

AW: MainMenu seit 10.3 größer

  Alt 26. Nov 2018, 15:03
Zitat:
Man muss sich nur etwas Mühe geben oder meine Änderungen einpflegen.
Dieser Satz trifft es doch vorzüglich.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: MainMenu seit 10.3 größer

  Alt 26. Nov 2018, 15:31
Nur um es zu komplettieren, wo bitte gibt es diese "Änderungen zum einpflegen"?
Ich habe es bestimmt überlesen...
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz