![]() |
Zugriff auf das Standard-Popupmenu von TEdit, TMemo usw.?
Halli Hallo,
kennt jemand eine Möglichkeit auf das Standard.Popupmenü von Texteingabe-Controls zuzugreifen um dieses durch eigene Einträge zu erweitern? Eine (schnelle) Lösung wäre es ja, einfach ein eigenes Kontextmenü zu bauen und dort "Kopieren", Auschneiden", "Einfügen", "Löschen" und "Alles auswählen" zu implementieren. Eigentlich kein Problem... Aber: Seit Windows 2000 sind in diesem Menu ja auch die sprachspezifischen Möglichkeiten enthalten (IME, Eingaberichtung, Unicode-Steuerzeichen eingeben). Daher wäre es eigentlich eleganter, wenn man eigene Einträge dort einfach einfügen/anhängen könnte. Scheinbar wird dieses Popup-Menü aber von Windows als "sehr privat" gehandhabt. Nicht einmal ein WM_INITMENU (bzw. WM_INITMENUPOPUP)oder sonstige Messages werden gesendet wenn das Menü auftaucht. Gibt es da eventuell überhaupt keine Möglichkeit?? Ciao, Ralf |
AW: Zugriff auf das Standard-Popupmenu von TEdit, TMemo usw.?
Zitat:
|
AW: Zugriff auf das Standard-Popupmenu von TEdit, TMemo usw.?
Wenn du in deinem Kontextmenü Actions verwendest, dann kannst du von dort die entsprechenden Standardactions verwenden.
|
AW: Zugriff auf das Standard-Popupmenu von TEdit, TMemo usw.?
Das ändert aber nichts daran, dass im System-Kontextmenü noch weitere Einträge sind, die sich nicht so leicht reproduzieren lassen und ja auch nicht immer gleich sind.
|
AW: Zugriff auf das Standard-Popupmenu von TEdit, TMemo usw.?
Zitat:
Nur gibt es, scheinbar, keine Möglichkeit diese Einträge zumindest auszulesen um sie dann, je nachdem welche vorhanden sind, nachzubilden. "GetMenu" liefert zwar einen Pointer zurück, der aber laut "IsMenu" kein Zeiger auf ein Menü ist. Das meinte ich, als ich schrieb, dass Windows dieses Menü "sehr privat" behandelt. |
AW: Zugriff auf das Standard-Popupmenu von TEdit, TMemo usw.?
Weiss jetzt nicht wo das problem ist daran zu kommen zu mindest funktioniert es bei NotePad.
Allerdings ist dieses als Standard und Popup Menu gleich ausgelegt. ![]() gruss |
AW: Zugriff auf das Standard-Popupmenu von TEdit, TMemo usw.?
Zitat:
Ich meine das Menü, das angezeigt wird wenn eine Windows-Textbox (in Delphi-Sprache: ein TEdit) kein eigenes Popupmenü definiert. Dieses Menü enthält mindestens die Befehle zur Textbearbeitung (Copy/Cut/Paste usw,) und einige andere Windowsversion-abhängige Einträge die zur Steuerung der Eingabe dienen. Und dieses Menü wird von dem Programm nicht ausgelesen! |
AW: Zugriff auf das Standard-Popupmenu von TEdit, TMemo usw.?
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Aber wenn du nicht weitermachst, mache ich es halt... wie hatte ich ja schon geschrieben. Ich habe gerade herausgefunden, dass Windows aus der comctl32.dll heraus TrackPopupMenuEx benutzt um danach das Menü aufzurufen. Ein Beispiel, das einen Beispielmenüeintrag in das Menü einfügt, liegt im Anhang. :zwinker: Es wird die JCL für den Hook benutzt. Im Moment funktioniert es noch nicht auf den Klick zu reagieren, da die entsprechende Message offenbar nicht an die eigene Anwendung oder das Editcontrol gesendet wird. Aber das lässt sich sicher auch noch machen. ;-) Und ansonsten geht zumindest das Auslesen der Einträge ja jetzt schon. |
AW: Zugriff auf das Standard-Popupmenu von TEdit, TMemo usw.?
Zitat:
Erst einmal Danke für deine Bemühnugen, ich werde mir das Beispiel morgen mal näher ansehen! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:04 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