Les événements sont des propriétés

De RAD Studio
Aller à : navigation, rechercher

Remonter à Qu'est-ce qu'un événement ?


Ces composants utilisent les propriétés pour implémenter les événements. Mais, contrairement à la plupart des propriétés, les propriétés événement ne font pas appel à des méthodes pour implémenter leurs parties read et write. Elles utilisent plutôt un champ de classe privé de même type que la propriété.

Par convention, le nom de la donnée membre est le même que celui de la propriété précédé de la lettre F. Par exemple, le pointeur de la méthode OnClick est stocké dans une donnée membre intitulée FOnClick de type TNotifyEvent ; la déclaration de la propriété de l'événement OnClick ressemble à ceci :

type
  TControl = class(TComponent)
  private
    FOnClick: TNotifyEvent;                  { déclarer un champ pour contenir le pointeur de méthode }
    .
    .
    .
  protected
    property OnClick: TNotifyEvent read FOnClick write FOnClick;
  end;
class PACKAGE TControl : public TComponent
{
private:
    TNotifyEvent FOnClick;
  .
  .
  .
protected:
    __property TnotifyEvent OnClick = {read=FOnClick, write=FOnClick};
  .
  .
  .
};

Pour plus d'informations sur TNotifyEvent et sur les autres types d'événements, voir la prochaine section Les types d'événements sont des types de pointeurs de méthodes.

Comme pour toute autre propriété, vous pouvez définir ou modifier la valeur d'un événement au moment de l'exécution. L'avantage principal des événements implémentés sous la forme de propriétés est que l'utilisateur de composant peut lui associer un gestionnaire au moment de la conception à l'aide de l'inspecteur d'objets.

Voir aussi