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 PopupMenu mit Icons und Hotkeys / Accelerators (https://www.delphipraxis.net/167286-popupmenu-mit-icons-und-hotkeys-accelerators.html)

Dalai 21. Mär 2012 14:23

PopupMenu mit Icons und Hotkeys / Accelerators
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hey Leute,

Ich verwende in einem meiner Programme ein PopupMenu. Bei der Einarbeitung von Icons in eben dieses, ist mir aufgefallen, dass die bis dahin angezeigten Hotkeys/Accelerators verschwinden (siehe Bilder im Anhang). Außerdem sieht die Auswahlfarbe und -gestaltung mit Themes anders aus (Stichwort "Solid Selection") und Einträge mit der Eigenschaft Checked haben einen anders gestalteten Haken.

Hat jemand eine Ahnung, woran das liegt und wie ich das beheben kann? Ich vermute, dass sobald das PopupMenu mit einer ImageList verknüpft ist, selbiges mit OwnerDraw gezeichnet wird. Ist es überhaupt möglich, mit wenig Aufwand das Design vom jeweiligen System zu verwenden?

MfG Dalai

Dalai 22. Mär 2012 16:47

AW: PopupMenu mit Icons und Hotkeys / Accelerators
 
Ich habe jetzt den auf dieser Seite genannten Patch eingearbeitet, weil ich es einfach nicht hinbekommen habe, mit wenig Aufwand eine abgeleitete Klasse zu deklarieren, die bestimmte Ereignisse überschreibt bzw. nach dem Zeichnen noch einmal DrawText mit dem Flag DT_PREFIXONLY ruft. Gefallen tut mir das aber nicht, VCL-Sourcen zu bearbeiten (auch wenn ich das schonmal bei der ComCtrls gemacht hab). Daher nochmal die Frage: Geht das irgendwie besser/anders?

Eine Sache ist mir noch aufgefallen: Rufe ich das PopupMenu mittels Shift+F10 statt mit der Maus, dann erscheinen die Accelerators korrekt. Der Punkt ist aber, dass ich die besagte Option in der Systemsteuerung ausgeschaltet habe, die Tastaturnavigationsanzeiger (was'n Scheiß Wort) also immer angezeigt werden sollen.

MfG Dalai


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