![]() |
Frage zu IContextMenu
Wenn ich in einem IContextMenu ein PopupMenu (also Untermenü) darstellen will, wie tue ich dies. Insbesondere wie positioniere ich das Untermenü natürlich. Also nicht direkt an einem Punkt ausgerichtet wie bei TrackPopupMenu(Ex).
Beispiel: ![]() |
Re: Frage zu IContextMenu
moin,
hast du denn schon Lösungsansätzte bzw. wie bist du vorgegangen. Benutzt du eine DLL ? |
Re: Frage zu IContextMenu
Ja, ich benutze einfach eine COM-DLL. Die Implementation erfolgt in C++ (was aber hier irrelevant ist). Die DLL wird dann einfach als Shell-Extension für bestimmte Dateien oder Dateiendungen registriert. Das übliche eben.
Das faszinierende, es ist schonmal kein Problem ein Untermenü zuzuweisen und dieses aufklappen zu lassen. Allerdings brauche ich ja noch das gewählte Element ;) Wenn ich TrackPopupMenu(Ex) benutze, muß ich eine Position angeben und das wiederum ist dann eine "unnatürliche" Positionierung des Untermenüs. |
Re: Frage zu IContextMenu
ich habe nochmal nachgeschaut und den Link zum Arktikel gepostet:
![]() Die Sourcen sind ja 100% API, viel spaß damit. |
Re: Frage zu IContextMenu
Danke, sieht vom ersten Drüberschauen sehr gut aus. Werde es mir mal näher ansehen. Sieht ja so aus, als bräuchte ich TrackPopupMenu(Ex) garnicht ;)
|
Re: Frage zu IContextMenu
Kuck dir doch noch mal das Blog von Raymond Chen (Programmierer aus dem Windows-Team von MS) an. Der hat im September eine ganze Serie darüber gemacht:
![]() auch wenn du es schon gelöst hast, ist es bestimmt einen Blick wert. |
Re: Frage zu IContextMenu
hi,
wenn ich eine solche dll erstelle für ein contextmenü. was mach ich mit der dann das se geladen wird? MfG - Ghost007 |
Re: Frage zu IContextMenu
Hallo Christian,
damit dein Context Menu Handler von der Shell berücksichtigt wird, musst du ihn registrieren. Eine Anleitung findest du bei ![]() Freundliche Grüße |
Re: Frage zu IContextMenu
hm,
so wie sich das liest bin ich auf dem falschen dampfer. Was ist das kontextmenü? das menü, welches auf geht, wenn ich irgendwo rechtemaustaste drücke? MfG - Ghost007 |
Re: Frage zu IContextMenu
Ja, ein Kontextmenü wird mit der rechten Maustaste geöffnet - oder mit Shift+F10.
Ein Context Menu Handler erweitert ein Context Menu um die Verben deiner Wahl. Wenn du in der Registry nach ContextMenuHandlers suchst, dann erhältst du einen kleinen Überblick darüber, welche Funktionalität auf deinem System bereits über diese Funktionalität eingebunden ist und von welchen Produkten. Freundliche Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:13 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 by Thomas Breitkreuz