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 Frage zu IContextMenu (https://www.delphipraxis.net/30085-frage-zu-icontextmenu.html)

Assarbad 19. Sep 2004 18:15


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:
http://www.erm.tu-cottbus.de/~schneol/IContextMenu.png

bigg 19. Sep 2004 18:28

Re: Frage zu IContextMenu
 
moin,

hast du denn schon Lösungsansätzte bzw. wie bist du vorgegangen.
Benutzt du eine DLL ?

Assarbad 19. Sep 2004 18:36

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.

bigg 19. Sep 2004 19:02

Re: Frage zu IContextMenu
 
ich habe nochmal nachgeschaut und den Link zum Arktikel gepostet:
http://www.del-net.com/delphi/topic10.html

Die Sourcen sind ja 100% API, viel spaß damit.

Assarbad 19. Sep 2004 19:07

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 ;)

Luckie 27. Sep 2004 05:40

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: http://weblogs.asp.net/oldnewthing/
auch wenn du es schon gelöst hast, ist es bestimmt einen Blick wert.

ghost007 20. Jun 2007 16:02

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

marabu 20. Jun 2007 17:02

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 Microsoft.

Freundliche Grüße

ghost007 20. Jun 2007 18:47

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

marabu 20. Jun 2007 19:29

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 10:09 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