Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Windows KontextMenu unterdrücken / deaktivieren


Delete - Di 11.06.13 14:06
Titel: Windows KontextMenu unterdrücken / deaktivieren
Hallo,

ich habe eine Spalte (TcxTreeListColumn) aus einem TcxTreeList einem RepositoryItem (TcxEditRepositoryTextItem) zugewiesen. Mach ich bei einer editierbaren cxTreeList jetzt einen Rechtsklick, kommt standardmäßig das Kontextmenu (Rückgängig, IME, Kopieren, Einfügen usw.) Wie kann ich das unterdrücken? An dem TcxEditRepositoryTextItem gibt es kein Event OnContextPopup, wo ich das Handled auf true setzen kann.

Hat irgendjemand eine Idee?

Danke rd3


Sinspin - Di 11.06.13 23:52

Hi,

die TreeList selber hat aber alles benötigte. Und da kannst Du ja im OnContextPopup prüfen auf (über) welchem Feld Du bist und dann abbrechen oder das Popup anpassen.


Delete - Mi 12.06.13 08:11

Das OnContextPopup reicht eben nicht, wenn man der Spalte ein RepositoryItem zuweist.


jaenicke - Mi 12.06.13 09:00

user profile iconrd3 hat folgendes geschrieben Zum zitierten Posting springen:
An dem TcxEditRepositoryTextItem gibt es kein Event OnContextPopup, wo ich das Handled auf true setzen kann.
Auch nicht in einer der Elternklassen? Ist das nicht ein TcxCustomEdit? Dann könntest du da über einen class helper herankommen, auch wenn das nicht public gemacht wurde.


Delete - Mi 12.06.13 09:05

Hast Du vllt ein Beispiel? Ich glaube gestern habe ich das schon versucht irgendwie zu casten, was nicht ging...


Delete - Mi 12.06.13 09:11

das

Delphi-Quelltext
1:
TcxCustomEdit(cxEditRepository1TextItem1).OnContextPopup := cxTreeList1ContextPopup;                    

geht auch nicht


jaenicke - Mi 12.06.13 15:11


Delphi-Quelltext
1:
2:
3:
TCustomEditContextPopupHelper = class helper for TcxCustomEdit
  property OnContextPopupPublic: ...
end;
In deinen Gettern und Settern in dem Class helper kannst du dann auch auf private und protected Member zugreifen, sofern es dort OnContextPopup gibt. Das müsstest du im Quelltext mal schauen.


Delete - Mi 12.06.13 15:15

Fang jetzt die Windows Message ab. Funzt. TcxCustomEdit ist nicht der Parent und OnContextPopup steht nicht zur Verfügung.
Danke trotzdem