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/)
-   -   Delphi TMenuItem Höhe verändern (https://www.delphipraxis.net/189020-tmenuitem-hoehe-veraendern.html)

CodeX 26. Apr 2016 16:13

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:
OnMeasureItem
, aber das Ändern von Height darin bewirkt nichts...
Ich habe testweise
Delphi-Quellcode:
OwnerDraw:=True
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.

Wie dann? :?

Uwe Raabe 26. Apr 2016 16:45

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.

CodeX 26. Apr 2016 17:14

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 10:01 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