Einzelnen Beitrag anzeigen

peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#29

AW: VCL - spezielles Edit gesucht

  Alt 30. Mai 2019, 12:40
Zitat:
Das Kontextmenu eines TEdits ist quasi eingebaut, das wird von Windows erzeugt. Leider kann man das Menu nur komplett ersetzen, nicht einfach nur modifizieren um z. B. den "ausschneiden"-Punkt zu deaktivieren.
Doch, das müsste gehen. Bei OnPopUp das Handle ses Menüs holen und dann mittels einen Windows Message den entsprechenden Menüeintrag deaktivieren oder ganz entfernen.
Es geht schon, aber nicht so. Das Default-Menu eines Tedits ist kein Delphi TPopupMenu, und es ist alles andere als einfach, das Menuhandle zu bekommen. Das Control erzeugt das Menu, wenn es die WM_CONTEXTMENU-Meldung weitergereicht bekommt (die VCL macht das, wenn das Control kein PopupMenu zugewiesen bekommen hat). Danach bekommt die Anwendung aber die Kontrolle erst wieder zurück, wenn der Benutzer das Menu geschlossen hat. Man hat also keinen guten Interventionspunkt, um an das Menuhandle zu kommen und muss sich daher einiger übler Klimmzüge bedienen. Der Aufwand lohnt einfach nicht, das Menu zu ersetzen ist viel einfacher.
Peter Below
  Mit Zitat antworten Zitat