Seite 1 von 1
Kontextmenü
Verfasst: Dienstag 17. Oktober 2006, 06:54
von HarryH
Hallo,
Gibt es irgendeine Möglichkeit, das Windows-Kontextmenü, welches ja auch im Win-Explorer und anderen Programmen verwendet wird, in meine eigene Liste einzubinden?
Wäre super wenn das geht!
Hat jemand eine Idee?
Danke!
Re: Kontextmenü
Verfasst: Dienstag 17. Oktober 2006, 07:39
von gerold
HarryH hat geschrieben:Gibt es irgendeine Möglichkeit, das Windows-Kontextmenü, welches ja auch im Win-Explorer und anderen Programmen verwendet wird, in meine eigene Liste einzubinden?
Hallo HarryH!
Falls du ein normales Popupmenü meinst:
-
http://wiki.wxpython.org/index.cgi/PopupMenuRevised
-
http://wiki.wxpython.org/index.cgi/Anot ... 522271c399
mfg
Gerold

re:
Verfasst: Dienstag 17. Oktober 2006, 08:39
von HarryH
Danke für deine Antwort, Gerold.
Ich meinte aber das Orginal-Kontextmenü, das z.B. im Windows-Explorer verwendet wird, oder im FileOpenDialog.
Verfasst: Dienstag 17. Oktober 2006, 08:49
von pr0stAta
Man kann meines Wissens nicht das Original
Menü des IE übernehmen. Du musst es dir schon
selber schreiben und anpassen. Dafür hast du ja Links bekommen.
Oder verstehe ich dich falsch?

re:
Verfasst: Dienstag 17. Oktober 2006, 10:18
von HarryH
Ja ich meine das Windows-Orginal-Menü.
Es geht doch in diversen anderen Programmen auch. Warum sollte man das über wxPython nicht in seine eigene Liste implementieren können?
Verfasst: Dienstag 17. Oktober 2006, 12:05
von george
Hey HarryH,
Es gibt ein Beispiel, dass in diese Richtung geht.
Bei mir liegt es unter folgendem Pfad:
C:\Python24\Lib\site-packages\win32comext\shell\demos\servers\context_menu.py
greets george
Verfasst: Dienstag 17. Oktober 2006, 12:09
von HarryH
Vielen Dank!
Das Beispiel zeigt aber nur, wie ich dem Explorer Menü Items hinzufügen kann.
Ich möchte jedoch das vorhandene Menü, in meiner ListCtrl aufrufen.
Verfasst: Dienstag 17. Oktober 2006, 12:56
von CM
Also, als Nicht-Windows-Nutzer habe ich hier vielleicht ein Verständnisproblem, aber: Wozu soll das gut sein?
Letzlich gilt doch, daß man in einem eigenen Programm jedes Menu-Item mit Funktionalität versehen muß. Das nimmt einem doch niemand ab. So, und jetzt eine Liste mit Namen zu schreiben und daraus ein Menü zu generieren ist ja nicht sonderlich schwierig. Also, mögt ihr mich aufklären, wozu man das braucht? Meine Frage ist wirklich nur Neugierde und keine Kritik!
Gruß,
Christian
Verfasst: Dienstag 17. Oktober 2006, 13:17
von HarryH
Hi,
Ich stelle mir das so vor:
Ich rufe das Windows-Explorer-Kontext-Menu in meiner eigenen ListCtrl auf, und übergebe dabei den selektierten Datei/Ordner-Pfad an das Menü weiter.
Nach der Auswahl eines Items werden dann die entsprechenden dahinterliegenden Funktionen verwendet.
Die Frage ist, ob es so geht und wie ich das umsetzen kann.
Ich habe jedenfalls schon Programme gesehen, die exakt das Explorer-Menu nachbilden und genau die dahinterliegenden Funtkionen zur Weiterverarbeitung verwenden.
Vielleicht ist die Umsetzung über die Win-API oder pywin32com möglich. Nur habe ich keinerlei Ahnung, wie?
Verfasst: Dienstag 17. Oktober 2006, 14:09
von DatenMetzgerX
du gibst das nicht an dem Menü weiter sondern fügst es in die Zwischenablage des PCs ein, wenn du das buch wxPython in action hast, letztes kapitel
Verfasst: Mittwoch 18. Oktober 2006, 07:48
von HarryH
Hi DatenMetzgerX,
Leider habe ich das Buch 'wxPython in action' nicht!
Könntest du mir bitte erklären was du mit deiner Aussage meinst? Wäre dir sehr dankbar!
Verfasst: Mittwoch 18. Oktober 2006, 10:46
von DatenMetzgerX
Du musst das File in das Clipboard kopieren
http://wxnet.sourceforge.net/apiref/wx/Clipboard.html
Google mal danach, habe das auch noch nie gemacht
re:
Verfasst: Mittwoch 18. Oktober 2006, 10:49
von HarryH
Und dann?
Wie erzeuge ich das Explorer-Kontext-Menu?
Verfasst: Mittwoch 18. Oktober 2006, 17:19
von DatenMetzgerX
Normales wx.MENU welches du dann am benötigten Ort auf popen lässt. Fügst die Einzelnen Tools hinzu und fertig
Verfasst: Donnerstag 19. Oktober 2006, 09:45
von Blattlaus
Also MEtzger, entweder liest du dir nicht durch was er möchte oder du verstehst es nicht (möglicherweise auch mutwillig).
Er möchte das
Oginal Kontextmenu aus dem Windows Explorer in seinem Programm benutzen, so wie das viele Programm, wie zum Beispiel Total Commander, tun. Er will es
nicht nachbauen.
Das ganze geht schon aus dem Startpost hervor...
------------
So, und jetzt zur Antwort: Ich weiß nicht wie es geht, aber ich bin mir sicher, dass man dazu die Windows-API benutzen muss. Vermutlich endet das ganze in einem ekeligen Haufen Code der dann nichtmehr plattformunanhängig ist.
Ich kann dir auch nicht sagen, wie du die von Python an die Winapi kommst, aber wenn du es herausgefunden hast ist das
Microsoft Developers Network die richtige anlaufstelle.