Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi [NonVCL] PopupMenü - Einem Eintrag eine Bitmap hinzufügen (https://www.delphipraxis.net/70148-%5Bnonvcl%5D-popupmenue-einem-eintrag-eine-bitmap-hinzufuegen.html)

Daniel G 25. Mai 2006 20:42


[NonVCL] PopupMenü - Einem Eintrag eine Bitmap hinzufügen
 
Liste der Anhänge anzeigen (Anzahl: 2)
Tach auch :hi: ,

irgendwie stehe ich gerade auf dem Schlauch:

Mein Programm sitzt in der TNA und besitzt dort ein Popup - Menü. Jetzt möchte ich den Einträgen in diesem Menü Bitmaps zuweisen, aber irgendwie funktioniert das nicht so recht. Hier mal mein Code:

Delphi-Quellcode:
var
  Bmp: HBITMAP;
begin
Bmp := LoadImage(hInstance, MAKEINTRESOURCE(223), IMAGE_BITMAP, 0, 0,LR_LOADTRANSPARENT);

MenuItemInfo.cbSize := SizeOf(TMenuItemInfo);
MenuItemInfo.hbmpItem := Bmp;
MenuItemInfo.fMask := MIIM_BITMAP;
           
// Neue Menüinformationsstruktur setzen
SetMenuItemInfo(hm, IDM_SHOW, False, MenuItemInfo);
end;
Tja, und das Resultat findet ihr im Anhang.

Mich würde jetzt interessieren:
  • Warum sieht das Bitmap so komisch aus, wenn der Eintrag markiert ist?
  • Wie bekomme ich das Bitmap weiter nach links?
  • Ist es möglich, auch Icons zu laden? Irgendwie klappt das mit der Transparenz ja nicht wirklich... :gruebel:

Luckie 25. Mai 2006 22:47

Re: [NonVCL] PopupMenü - Einem Eintrag eine Bitmap hinzufüge
 
Bis Windows 2000 hat der Explorer im Kontextmnü die Bitmaps im Kontextmenü auch invertiert dargestellt, wenn der Menüpunkt ausgewählt wurde. Da hilft wohl nur das Menü selber zuzeichnen. Das hat mich nämlich auch schon zur Verzweifelung getrieben. ;)

Daniel G 25. Mai 2006 22:56

Re: [NonVCL] PopupMenü - Einem Eintrag eine Bitmap hinzufüge
 
Zitat:

Zitat von Luckie
Bis Windows 2000 hat der Explorer im Kontextmnü die Bitmaps im Kontextmenü auch invertiert dargestellt, wenn der Menüpunkt ausgewählt wurde. Da hilft wohl nur das Menü selber zuzeichnen. Das hat mich nämlich auch schon zur Verzweifelung getrieben. ;)

Hrmpf.... großartig, das wird ne lange Nacht.... Danke für die Info. :wink:

Mal sehen, vllt. werde ich in den D5 Sourcen fündig...


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