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 Höhe von TMenuItems bei 120 DPI erhöhen? (https://www.delphipraxis.net/147330-hoehe-von-tmenuitems-bei-120-dpi-erhoehen.html)

anse 5. Feb 2010 21:02


Höhe von TMenuItems bei 120 DPI erhöhen?
 
Mal wieder das Thema hohe DPI Einstellungen: In meiner Delphi 2010 Form sind die Menu items (aus TMainMenu + TPopupMenu) bei 120 oder mehr DPI mit dem vergrößerten Font "gequetscht" siehe
Screenshot.

Ich finde im Netz und in der Delphi Hilfe nichts wie ich die Höhe anpassen könnte, oder warum diese Items nicht sowieso schon durch Windows bzw. Delphi vergrößert werden, so wie alle anderen Form-Controls auch. Ist eher kosmetisch, weil man die Items noch so gerade lesen kann, aber schön aussehen tut das nicht.

daywalker9 5. Feb 2010 21:04

Re: Höhe von TMenuItems bei 120 DPI erhöhen?
 
Hast du schon versucht selber das zu machen?

Delphi-Quellcode:
    property OnDrawItem: TMenuDrawItemEvent read FOnDrawItem write FOnDrawItem;
    property OnAdvancedDrawItem: TAdvancedMenuDrawItemEvent read FOnAdvancedDrawItem write FOnAdvancedDrawItem;
    property OnMeasureItem: TMenuMeasureItemEvent read FOnMeasureItem write FOnMeasureItem;
Bei MeasureItem gibts kannst du die höhe angeben und malst dann selber?

anse 5. Feb 2010 21:13

Re: Höhe von TMenuItems bei 120 DPI erhöhen?
 
Hört sich nach viel Aufwand an, wenn ich sämtliche Menüs erwischen will (sind ca. 15 PopupMenus), aber werd ich mal versuchen. Danke!

anse 5. Feb 2010 21:33

Re: Höhe von TMenuItems bei 120 DPI erhöhen?
 
Ok,
* TPopupMenu.OwnerDraw auf True gestellt
* OnMeasureItem handler geschrieben:

Delphi-Quellcode:
procedure TMainform.omi(Sender: TObject; ACanvas: TCanvas; var Width, Height: Integer);
begin
  height := 40;
end;
Dadurch wird tatsächlich das Item höher. Allerdings mit dem Nachteil, dass dann Checked items keinen Haken mehr haben, und noch einen kleinen Fehler beim Malen des Begrenzers zwischen Itemtext und des linken Bereiches für das Icon:

http://www.heidisql.com/files/menu_ownerdraw.png

Hmmmm....

daywalker9 5. Feb 2010 22:30

Re: Höhe von TMenuItems bei 120 DPI erhöhen?
 
Du hast ja auch OwnerDraw auf true gestellt. dann musst du dich selber darum kümmern

anse 5. Feb 2010 23:15

Re: Höhe von TMenuItems bei 120 DPI erhöhen?
 
Richtig... also der Preis scheint mir zu hoch zu sein, nur um 120 DPI bedienen zu können.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:34 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