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 TPopupMenu mit Images in Vista (https://www.delphipraxis.net/118938-tpopupmenu-mit-images-vista.html)

manuf 18. Aug 2008 10:22


TPopupMenu mit Images in Vista
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo DPler,

ein TPopupMenu in Vista erscheint ohne verknüpfte TImageList im Vista-Stil, mit Bildern jedoch im alten Stil (siehe ScreenShots im Anhang).

Gibt es (mit den Bordmitteln) eine Möglichkeit, das Popup-Menü mit Bildern im Vista-Stil angezeigt zu bekommen?

Umgebung: Delphi 2006, vcl100 10.0.2151.25345, ScreenShots aus einer simplen VCL-Anwendung: TImageList, TPopupMenu, TXPManifest.

Vielen Dank & schöne Grüße,
Manu.

Weazy 18. Aug 2008 11:40

Re: TPopupMenu mit Images in Vista
 
ich habe es mit PNGImageList probiert und funktioniert einwandfrei...

manuf 18. Aug 2008 12:20

Re: TPopupMenu mit Images in Vista
 
Danke für den Vorschlag, Weazy, leider erhalte ich nicht das gewünschte Resultat: Mit einer PNGImageList werden zwar die Icons hübscher, also mit der PNG-Transparenz, dargestellt, jedoch erscheint das Menü nach wie vor nicht im nativen Vista-Stil, wie es ohne Images der Fall ist.

Bernhard Geyer 18. Aug 2008 12:21

Re: TPopupMenu mit Images in Vista
 
Aktuellen Grafikkartentreiber installiert? Hatte ähnliches Verhalten bei Windows Explorer mit Plugins (Zipper, TortoisSVN, ...) welche mittlerweile nicht mehr vorhanden sind.

manuf 18. Aug 2008 12:35

Re: TPopupMenu mit Images in Vista
 
Ja, die Treiber sind aktuell.

Die PopupMenus der Taskbar-Schaltflächen (z.B. mit Standardeinträgen wie "Restore", "Move", "Size", ...) aller Anwendungen (einschließlich der eigenen Delphi-Anwendung) werden auch korrekt im Vista-Stil mit Icons (bei "Restore", "Minimize", "Maximize", "Close") gezeichnet, und eigene Menus ohne Bilder wie beschrieben und mit Screenshot gezeigt ebenfalls. Nur bei eigenen Menus mit Bildern klappt's nicht ...

OregonGhost 18. Aug 2008 12:46

Re: TPopupMenu mit Images in Vista
 
Zitat:

Zitat von Bernhard Geyer
Aktuellen Grafikkartentreiber installiert? Hatte ähnliches Verhalten bei Windows Explorer mit Plugins (Zipper, TortoisSVN, ...) welche mittlerweile nicht mehr vorhanden sind.

Das ist jetzt zwar minimal off-topic, aber: Hat sich das Problem mit TortoiseSVN tatsächlich durch ein Update des Grafiktreibers lösen lassen? Ich hatte mal etwas darüber gelesen, dass eine Shell-Extension, die Menüs auf die "veraltete" Weise zeichnet, automatisch dazu führt, dass das komplette Menü veraltet gezeichnet wird. Folglich hat bei mir auch nur ein Update von TortoiseSVN das Problem behoben.

manuf 18. Aug 2008 15:31

Re: TPopupMenu mit Images in Vista
 
Zwischenstand: Es scheint daran zu liegen, dass bei verknüpfter ImageList (egal, ob PNGImageList oder nicht), die MenuItems "per Hand gezeichnet" werden (menus.pas:3462 -> menus.pas:3733[DrawMenuItem]) und ansonsten eben nicht, so dass sie vom OS gemalt werden. Es ist relativ einfach, den Code von QualityCentral-Beitrag dazu zu verwenden, den MenuItems ihre Bildchen unterzuschieben, ohne dass des Menüs setImages verwendet und damit das eigenständige Zeichnen aktiviert wird. Das Resultat ist auch schon die halbe Miete: Das Menu erscheint im Vista-Stil mit Bildchen - nur eben ohne Transparenz, wie es auch im QualityCentral-Beitrag geschildert ist. Mal sehen, ob auch dieses Problemchen noch zu lösen ist ...


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