Ok, also hier mal den Code für Löschen:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| TMainForm = class(TForm) Bearbeiten1: TMenuItem; MenuDelete: TMenuItem; ActDelete: TAction; PopDelete: TMenuItem; procedure Bearbeiten1Click(Sender: TObject); procedure ActDeleteExecute(Sender: TObject); end;
procedure TMainForm.Bearbeiten1Click(Sender: TObject); begin // copy, delete, cut if ObjectVerwalter.SelectedObjects.Count > 0 then begin MenuDelete.Enabled := true; end else begin MenuDelete.Enabled:= false; end; end; |
Wie man sieht hab ich in der ActionList einen Eintrag ActDelete. Da wird auch der Shortcut definiert. Wenn ich im Menu auf Bearbeiten klicke wird in Bearbeiten1Click geprüft, ob delete aktiv sein soll oder nicht. Wenn ich jedoch den Shortcut benutze soll ActDeleteExecute immer ausgeführt werden, ohne zu prüfen. Das Problem ist, dass beim Shortcut trotzdem Bearbeiten1Click ausgeführt wird, obwohl ich da ja gar nicht drauf klicke?
mfg
zuse