![]() |
TMenuItem Höhe verändern
Eigentlich eine simple Frage: Wie kann ich die Höhe von Items in einem TMainMenu oder TPopupMenu vergrößern?
Idealerweise nur für bestimmte Items oder alternativ für alle gleich. Es gibt zwar ein
Delphi-Quellcode:
, aber das Ändern von Height darin bewirkt nichts...
OnMeasureItem
Ich habe testweise
Delphi-Quellcode:
gesetzt, aber seltsamerweise ändert das nichts. Aber das will ich ja eigentlich ohnehin nicht, da dadurch das Windows-Theme beim Menü verloren gehen würde und das alles selbst manuell neuzeichnen ist ein ziemlicher Krampf.
OwnerDraw:=True
Wie dann? :? |
AW: TMenuItem Höhe verändern
Liste der Anhänge anzeigen (Anzahl: 1)
Also ich bekomme bei OwnerDraw = true und einem entsprechenden OnMeasureItem-Event bei jedem MenuItem die passende Höhe - auch unterschiedlich für jedes Item. Wichtig dabei: kein OnDrawItem- und kein OnAdvancedDrawItem-Event!
Allerdings sieht das schon etwas bescheiden aus. |
AW: TMenuItem Höhe verändern
Ups, ich habe völlig übersehen, dass TMenuItem an anderer Stelle aufgrund eines ganz anderen Kontextes bereits überschrieben wird. Das war auch der Grund, warum selbst CustomDraw nichts bewirkt hat. :oops:
Hat sich damit erledigt. Wen es interessiert, wie sich die Fragestellung lösen lässt:
Delphi-Quellcode:
TMenuItem = class(Menus.TMenuItem)
private procedure MeasureItem(ACanvas: TCanvas; var Width, Height: Integer); override; end; procedure TMenuItem.MeasureItem(ACanvas: TCanvas; var Width, Height: Integer); begin inherited; if Caption <> '-' then Height := ...; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:24 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