Aktionskomponenten erstellen
Nach oben zu Behandeln von VCL-Aktionen mit einer Aktionsliste
Sie können auch eigene vordefinierte Aktionsklassen für bestimmte Zielklassen erstellen. Wenn Sie selbst Aktionsklassen schreiben, können diese bei bestimmten Zielklassen von Objekten ausgeführt werden. Diese können anschließend wie die mitgelieferten Klassen verwendet werden. Das Erstellen einer Ereignisbehandlungsroutine ist nicht erforderlich.
Entwickler von Komponenten können sich bei der Ableitung eigener Aktionsklassen und der Implementierung spezieller Aktionen für bestimmte Steuerelemente oder Komponenten an den in den Units StdActns und DBActns enthaltenen Klassen orientieren. Die Basisklassen der speziellen Aktionsklassen (TEditAction, TWindowAction usw.) überschreiben in der Regel HandlesTarget, UpdateTarget, und andere Methoden, um das Ziel der betreffenden Aktion auf bestimmte Objektklassen einzuschränken. In den abgeleiteten Klassen wird normalerweise ExecuteTarget überschrieben, um klassenspezifische Operationen durchzuführen. Diese Methoden sind hier beschrieben:
Von den Basisklassen bestimmter Aktionen überschriebene Methoden:
Methode | Beschreibung |
---|---|
HandlesTarget |
Wird automatisch aufgerufen, wenn der Benutzer ein Objekt aktiviert (z.B. eine Schaltfläche oder einen Menüeintrag), das mit einer Aktion verknüpft ist. Mithilfe der Methode HandlesTarget kann das Aktionsobjekt bestimmen, ob sich das mit dem Parameter |
UpdateTarget |
Wird automatisch aufgerufen, wenn die Anwendung inaktiv ist, so dass sich Aktionen entsprechend den aktuellen Bedingungen selbst aktualisieren können. Wird anstelle von OnUpdateAction verwendet. Weitere Informationen finden Sie unter Aktionen aktualisieren.. |
ExecuteTarget |
Wird anstelle von OnExecute verwendet und automatisch aufgerufen, wenn die Aktion in Reaktion auf eine Benutzereingabe ausgelöst wird (z.B. wenn der Benutzer eine Menüoption auswählt oder auf eine Schaltfläche klickt, die mit der Aktion verknüpft ist). Weitere Informationen finden Sie unter Was passiert, wenn eine Aktion ausgelöst wird. |
Folgende Themen sind für das Erstellen eigener Aktionsklassen von Bedeutung: