Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - TTreeView RightClickSelect funktioniert nicht
O'rallY - Do 01.08.02 15:09
Titel: TTreeView RightClickSelect funktioniert nicht
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| procedure Tform_Main.TreeView1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var CPos: TPoint; begin GetCursorPos(Cpos);
if Button = mbRight then begin; Button := mbLeft;
//Abfrage ob bestimmter Node gedrückt wurde und Reaktion
PopupMenu1.Popup(CPos.X, CPos.Y) end; end; |
Ich will bei, drücken der rechten Maustaste auf eine Komponente TTreeView, feststellen, ob was für ein Node selektiert ist und dementsprechend ein modifiziertes PopupMenu aufpopen lassen. Nur das Problem ist, wenn ich ein Node in der Kompo anklicke (mit der rechten Mt.), wird dieser nicht selektiert und dem entsprechend kann ich nicht auswerten, welcher selktiert wurde. Ich habe die Eigenschaft RightClickSelect schon auf TRUE gestellt.
Ich hab auch schon probiert bei klicken der rechten Maustaste der Komponente "vorzugaukeln", dass die linke Maustaste gedrückt wurde,
Quelltext
1: 2: 3:
| ... Button := mbLeft; ... |
doch auch das funktioniert nicht.
Bitte um Hilfe!
Tpercon - Do 01.08.02 19:36
Hi
Schau mal in der Hilfe nach: TreeView1.GetNodeAt
Das müßte dir weiter helfen.
Gruß
O'rallY - Mo 26.08.02 11:32
Ok, das hat mir schon mal weitergeholfen. Doch richtig funktionieren tut es noch nicht (jedenfalls nicht so wie ich es anwende). Ich habs mal so versucht:
Quelltext
1:
| TreeView1.GetNodeAt({Mausposition X}, {Mausposition Y}).Selected := true; |
Wenn ich nun ein Item zur Laufzeit mit der rechten Maustaste anklicke, erscheint folgende Fehlermeldung:
Access violation at address ...... in module .......
O'rallY - Mo 26.08.02 11:46
Sper, so funktionierts. Vielen Dank!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!