Textbox und Popup-Menü

14/01/2010 - 23:06 von Lothar Geyer | Report spam
Ich möchte zu dem Standard-Popup einer Textbox einen eigenen Eintrag
hinzufügen - also nicht das Standard-Popup ersetzen.

Ich weiß, dass das schon x Mal diskutiert wurde - aber ich finde es
nicht mehr. Kann mir bitte jemand einen Link geben?

Lothar Geyer
 

Lesen sie die antworten

#1 Herfried K. Wagner [MVP]
15/01/2010 - 04:03 | Warnen spam
Am 14.01.2010 23:06, schrieb Lothar Geyer:
Ich möchte zu dem Standard-Popup einer Textbox einen eigenen Eintrag
hinzufügen - also nicht das Standard-Popup ersetzen.

Ich weiß, dass das schon x Mal diskutiert wurde - aber ich finde es
nicht mehr. Kann mir bitte jemand einen Link geben?



Link habe ich leider keinen, aber man könnte folgendermaßen vorgehen:

Subclassing, um 'WM_CONTEXTMENU' für das Textfeld abzufangen. Dort wird
mittels der Ressourcenfunktionen die passende Menüressource mit dem
Kontextmenü aus "User32.dll" geladen (Ressource mit der
Identifikationsnummer 1 unter Windows 7 x64, vermutlich auch in anderen
Windows-Versionen) und über die entsprechenden Win32-Menüfunktionen um
Eintràge erweitert. Anschließend wird das Menü mittels
'TrackPopupMenu'/'TrackPopupMenuEx' angezeigt. Die Auswertung der
ausgewàhlten Eintràge erfolgt ebenfalls über Subclassing, diesmal bei
'WM_COMMAND'. Bei dieser Vorgangsweise müßte allerdings je nach
ausgewàhltem Menüeintrag die vom System vorgesehene Aktion angestoßen
werden (Senden von 'EM_*'). Bei einer variablen Zahl an Eintràgen dürfte
das schwer zu machen sein.

Leider sendet das Anzeigen des Standardkontextmenüs kein
'WM_INITMENUPOPUP', sodaß man nicht einfach vor dem Anzeigen an die
Zugriffsnummer des Menüs gelangt, um es zu erweitern.

M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Ähnliche fragen