Zitat:
Die einfachste Lösung dafür wären jetzt 2 getrennte ActionLists. Dann funktioniert der Ansatz mit dem disablen.
Ich habe jetzt alle Aktionen für den Treeview, für den die Shortcuts nicht funktioniert haben, in eine eigene TActionList gesteckt - und es funktioniert perfekt. Vielen Dank.
Zitat:
Wüsste gerade nicht, wie Du im OnUpdate-Ereignis der TActionList feststellen kannst, welcher Treeview gerade den Focus hat, um dann die entsprechende TAction auf Enabled := true zu setzen.
Ich habe hier mal ein Besipiel für OnUpdate - nicht nur mit Fokus auf Treeview sondern noch ein paar Optionen mehr:
Code:
actAufgabeDown.Enabled := (ActiveControl = listAufgaben) and
(listAufgaben.Selected<>nil) and
(listAufgaben.Selected.AbsoluteIndex<>listAufgaben.Items.Count-1);
Da ich nur ganz wenige doppelte oder mehrfache Benutzungen (Buttons, Menüs etc.) meiner Funktionen habe, wäre TActionList nicht so extrem wichtig/sinnvoll. Aber mit der OnUpdate-Methode kann ich direkt bei der Funktion ein enable/disable hinterlegen und muss dies nicht irgendwo in einer eigenen Funktion etc. programmieren. Somit habe ich alles an einer Stelle.