Autor Beitrag
Rylon
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 38



BeitragVerfasst: So 20.08.06 04:45 
Hallo DF,

Ich habe nach Suchen in DP und DF eine Funktion gefunden, die mir ein Contextmenu eines bestimmten Files öffnen -> Ich würde nun gerne kein eigenständiges Menü öffnen, sondern die Einträge des Contextmenues in meins übernehmen...
im prinziep ein normales popup (is tbx geskinnt - also nicht normal - tut aber nix zur Sache)

Jemand eine Idee?

Grüße Rylon t.H.D.

PS: Danke im Vorraus
0xCC
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 150



BeitragVerfasst: So 20.08.06 05:10 
tip: guck mal in der registry
Rylon Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 38



BeitragVerfasst: So 20.08.06 05:43 
Titel: ???
???

-> Noch ein Tip bitte: WO????


Grüße Rylon t.H.D.
Flocke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54

Win 2000, Win XP, Win 2003, Linux
Delphi 2006 Prof.
BeitragVerfasst: So 20.08.06 18:30 
Wenn du exakt dasselbe Kontextmenü wie der Explorer haben möchtest, dann solltest du dir die folgenden Interfaces / Funktionen ansehen:
  • IShellFolder
  • IShellFolder.GetUIObjectOf
  • IContextMenu / IContextMenu2
  • IContextMenu.QueryContextMenu
  • IContextMenu2.HandleMenuMsg

Ein Beispiel findest du in den Delphi-Demos unter <Delphi-Verzeichnis>\Demos\DelphiWin32\ShellControls\ShellCtrls.pas in der Funktion InvokeContextMenu.


Zuletzt bearbeitet von Flocke am Mo 21.08.06 11:42, insgesamt 1-mal bearbeitet
Rylon Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 38



BeitragVerfasst: So 20.08.06 22:10 
Titel: Ja
Ja, das kenne ich -> leider kann ich mit dem invoke nur eine Kontextmenü aufpoppen lassen, nicht die items (mit funktionen) übernehmen. ->

d.h. ich will ein menü (popup) an den das KontextMenü angehängt wird. - Dazu würde ich gerne die Items und die verknüpften Ereignisse auslesen.

Grüße Rylon t.H.D.
Flocke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54

Win 2000, Win XP, Win 2003, Linux
Delphi 2006 Prof.
BeitragVerfasst: Mo 21.08.06 00:09 
Also mit IContextMenu.QueryContextMenu bekommst du ein ganz normales Windows-Menühandle. Dessen Einträge müsstest du mit den normalen API-Funktionen (GetMenuItemCount, GetMenuItemInfo) auslesen können. Ansonsten kannst du dieses Menü ja als Untermenü an deines anhängen.


Zuletzt bearbeitet von Flocke am Mo 21.08.06 00:12, insgesamt 1-mal bearbeitet
0xCC
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 150



BeitragVerfasst: Mo 21.08.06 00:11 
Titel: Re: ???
user profile iconRylon hat folgendes geschrieben:
-> Noch ein Tip bitte: WO????

unter HKEY_CLASSES_ROOT
* steht für alle einträge, dann natürlich noch die jeweiligen settings per dateiendung.
ne kleine google recherche dürfte sicher einiges zu tage fördern