Ich habe ein TPopupMenu mit einem TTreeView verbunden, aber ich möchte jetzt das Menü nur aufrufen, wenn der Benutzer in einen bestimmten Knoten klickt. Also, wie kann ich ein Kontextmenü in einer Treeview, aber nur in einigen bestimmten treenodes öffnen?Wie kann ich ein Kontextmenü in einer Baumansicht, aber nur in einigen bestimmten treenodes öffnen?
Q
Wie kann ich ein Kontextmenü in einer Baumansicht, aber nur in einigen bestimmten treenodes öffnen?
4
A
Antwort
10
Verwenden Sie den Parameter Handled
aus dem Ereignis OnContextPopup
. Wenn Sie diesen Parameter auf True setzen, unterdrücken Sie das anzuzeigende Kontextmenü. Der folgende Code zeigt, wie die TTreeNode
von der Cursorposition an das OnContextPopup
-Ereignis übergeben wird und das Popup-Menü nur dann anzeigt, wenn Sie mit der rechten Maustaste auf die TTreeNode
klicken, die sich von der oberen unterscheidet.
procedure TForm1.TreeView1ContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: Boolean);
begin
if TreeView1.GetNodeAt(MousePos.X, MousePos.Y) = TreeView1.TopItem then
Handled := True;
end;
1
Dies kann hilfreich sein:
procedure TForm1.TreeView1ContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: Boolean);
var node : TTreeNode;
begin
node := TreeView1.GetNodeAt(MousePos.X, MousePos.Y);
if not Assigned (node) then
Abort;
end;
+3
Es gibt eine bessere Antwort seit fast zwei Jahren. –
Verwandte Themen
- 1. Wie kann ich die Dateien nur in einem bestimmten Fenster in Emacs öffnen?
- 2. Wie erstelle ich ein Kontextmenü auf einem MenuItem einer Navigationsleiste?
- 3. Wie treenodes angezeigt werden, indem Knoten in der Baumansicht an Knoten des XML-Dokuments gebunden werden
- 4. Wie kann ich ein Kontextmenü in Silverlight einrichten?
- 5. Wie kann ich ein Datum in einer bestimmten Zeitzone "parsen"?
- 6. einen bestimmten Knoten in einer Baumansicht asp.net Öffnungs dynamisch
- 7. Kann ich den Identitätswechsel nur in einigen Instanzen deaktivieren
- 8. Wie schreibe ich nur ein # vor einigen Zeilen in einer Textdatei?
- 9. rightclick-Ereignis in Qt, um ein Kontextmenü zu öffnen
- 10. Wie kann ich ein Element in einer bestimmten Zeile in einer Liste aus einer Datenbank abrufen?
- 11. Programm im Kontextmenü Öffnen mit ...
- 12. Eine Baumansicht innerhalb einer Baumansicht? oder wie man eine Liste innerhalb einer Baumansicht zeigt
- 13. WPF kann nur ein Fenster öffnen?
- 14. Wie bekomme ich ein Kontextmenü für Dateisystemaktionen in Qt?
- 15. Wie kann ich einem ListBoxItem ein Kontextmenü hinzufügen?
- 16. Wie erstelle ich eine Baumansicht in Android?
- 17. Wie man die Website nur von einer bestimmten IP-Adresse öffnen lassen kann
- 18. Ext.js Bearbeitbare TreeNodes
- 19. iOS: Embedded Framework nicht gefunden, aber nur auf * einigen * installiert
- 20. Zeige Ordner in der Baumansicht in Atom
- 21. Dynamische Bearbeitung einer Knotenbezeichnung in der Baumansicht
- 22. Wiederhole rekursiv über Knoten in einer Baumansicht?
- 23. bekomme den expandierenden Knoten in einer Baumansicht
- 24. Wie kann ich ein Bild in Python öffnen?
- 25. Wie kann ich den Windows Explorer von einer WPF App aus in ein bestimmtes Verzeichnis öffnen?
- 26. Wie setze ich eine Formularaktion, um ein neues Fenster mit einer bestimmten Größe zu öffnen?
- 27. Wie ich Kontextmenü
- 28. Wie kann ich ein bestimmtes Jar nur in einem bestimmten Ordner mit Maven hinzufügen?
- 29. Wie kann ich Nightwatch-Tests in einer bestimmten Reihenfolge ausführen?
- 30. Wie erstelle ich ein Kontextmenü in Java Swing?
+1, ich habe nur die gleiche Antwort eingeben. – RRUZ
+1. Beat mich dazu. :) –