Conception de composants action
Remonter à Gestion des actions VCL à l'aide d'un gestionnaire d'actions
Vous pouvez également créer vos propres classes d'actions prédéfinies. Quand vous écrivez vos propres classes d'actions, vous pouvez leur attribuer la capacité à s'exécuter sur certaines classes d'objet cible. Vous pouvez ensuite utiliser vos actions personnalisées de la même façon que les classes d'actions prédéfinies. Ainsi, si l'action détermine qu'elle peut s'appliquer à une classe cible, il suffit d'affecter l'action au contrôle client et il agit sur la cible sans avoir besoin d'écrire un gestionnaire d'événement.
Les concepteurs de composants peuvent utiliser comme exemple les classes définies dans les unités StdActns et DBActns afin de dériver leurs propres classes d'actions qui implémentent des comportements spécifiques à leurs contrôles et leurs composants. Les classes de base de ces actions spécialisées (TEditAction, TWindowAction, etc.) redéfinissent généralement HandlesTarget, UpdateTarget et d'autres méthodes afin de limiter la cible de l'action à une classe spécifique d'objets. Les classes dérivées surchargent habituellement ExecuteTarget pour réaliser une tâche spécifique. Voici ces méthodes :
Méthodes redéfinies par des classes de base d'actions spécifiques :
Méthode | Description |
---|---|
HandlesTarget |
Automatiquement appelée lorsque l'utilisateur invoque un objet (comme un bouton de barre d'outils ou un élément de menu) lié à l'action. La méthode HandlesTarget laisse l'objet action indiquer s'il convient de l'exécuter à ce moment avec comme "cible" l'objet spécifié par le paramètre |
UpdateTarget |
Automatiquement appelée lorsque l'application est inactive pour que les actions puissent se mettre à jour elles-mêmes en fonction des conditions en cours. Utilisez à la place de OnUpdateAction. Voir Mise à jour des actions pour plus de détails. |
ExecuteTarget |
Automatiquement appelée lorsque l'action est déclenchée en réponse à une action de l'utilisateur à la place de OnExecute (par exemple, quand l'utilisateur sélectionne un élément de menu ou appuie sur un bouton de barre d'outils qui est lié à cette action). Voir Que se passe-t-il lors du déclenchement d'une action pour plus de détails. |
Si vous écrivez vos propres classes d'actions, vous devez maîtriser les notions suivantes :