Macros de délégué et de mappage d’interface

MFC prend en charge ces macros pour les mappages de délégué et d’interface :

Nom Description
BEGIN_DELEGATE_MAP Commence une carte de délégués.
BEGIN_INTERFACE_MAP Commence la définition de la carte interface.
Délégué du gestionnaire de commandes Inscrit les méthodes de rappel avec une source de commande.
END_DELEGATE_MAP Termine une carte de délégués.
END_INTERFACE_MAP Termine le mappage d’interface dans le fichier d’implémentation.
EVENT_DELEGATE_ENTRY Crée une entrée dans le mappage délégué.
INTERFACE_PART Utilisé entre la macro BEGIN_INTERFACE_MAP et la macro END_INTERFACE_MAP pour chaque interface prise en charge par votre objet.
MAKE_DELEGATE Attache un gestionnaire d’événements à un contrôle managé.

BEGIN_DELEGATE_MAP

Commence une carte de délégués.

Syntaxe

BEGIN_DELEGATE_MAP(  CLASS );

Paramètres

CLASSE
Classe dans laquelle le contrôle managé est hébergé.

Notes

Cette macro marque le début d’une liste d’entrées de délégué, qui composent un mappage délégué. Pour obtenir un exemple de la façon dont cette macro est utilisée, consultez EVENT_DELEGATE_ENTRY.

Spécifications

En-tête : msclr\event.h

BEGIN_INTERFACE_MAP

Commence la définition de la carte interface lorsqu’elle est utilisée dans le fichier d’implémentation.

Syntaxe

BEGIN_INTERFACE_MAP( theClass, baseClass )

Paramètres

theClass
Classe dans laquelle la table d'interface doit être définie.

baseClass
Classe à partir de laquelle la classe dérive.

Notes

Pour chaque interface implémentée, il existe un ou plusieurs appels de macros INTERFACE_PART. Pour chaque agrégat que la classe utilise, il existe un appel de macro INTERFACE_AGGREGATE.

Pour plus d’informations sur les cartes d’interface, consultez la Note technique 38.

Spécifications

En-tête : afxwin.h

Délégué du gestionnaire de commandes

Inscrit les méthodes de rappel avec une source de commande.

Syntaxe

delegate void CommandHandler(  UINT^ cmdID  );

Paramètres

cmdID
ID de la commande.

Notes

Ce délégué inscrit les méthodes de rappel avec une source de commande. Lorsque vous ajoutez un délégué à l’objet source de commande, la méthode de rappel devient un gestionnaire pour les commandes provenant de la source spécifiée.

Pour plus d’informations, consultez How to : Add Command Routing to the Windows Forms Control.

Pour plus d’informations sur l’utilisation de Windows Forms, consultez Utilisation d’un contrôle utilisateur Windows Form dans MFC.

Spécifications

En-tête : afxwinforms.h (défini dans l’assembly atlmfc\lib\mfcmifc80.dll)

CommandUIHandler

Inscrit les méthodes de rappel avec un message de commande de mise à jour de l’interface utilisateur.

Syntaxe

delegate void CommandUIHandler(  unsigned int cmdID, ICommandUI^ cmdUI);

Paramètres

cmdID
ID de la commande.

cmdUI
ID du message de commande.

Notes

Ce délégué inscrit les méthodes de rappel avec un message de commande de mise à jour de l’interface utilisateur. CommandUIHandler est similaire à CommandHandler , sauf que ce délégué est utilisé avec les commandes de mise à jour d’objet de l’interface utilisateur. Les commandes de mise à jour de l’interface utilisateur doivent être mappées un-à-un avec des méthodes de gestionnaire de messages.

Pour plus d’informations sur l’utilisation de Windows Forms, consultez Utilisation d’un contrôle utilisateur Windows Form dans MFC.

Spécifications

En-tête : afxwinforms.h (défini dans l’assembly atlmfc\lib\mfcmifc80.dll)

END_DELEGATE_MAP

Termine une carte de délégués.

Syntaxe

END_DELEGATE_MAP();

Notes

Cette macro marque la fin d’une liste d’entrées de délégué, qui composent un mappage délégué. Pour obtenir un exemple de la façon dont cette macro est utilisée, consultez EVENT_DELEGATE_ENTRY.

Spécifications

En-tête : msclr\event.h

END_INTERFACE_MAP

Termine le mappage d’interface dans le fichier d’implémentation.

Syntaxe

END_INTERFACE_MAP( )

Notes

Pour plus d’informations sur les cartes d’interface, consultez la Note technique 38.

Spécifications

En-tête : afxwin.h

EVENT_DELEGATE_ENTRY

Crée une entrée dans le mappage délégué.

Syntaxe

EVENT_DELEGATE_ENTRY(MEMBER, ARG0, ARG1);

Paramètres

MEMBRE
Méthode de gestionnaire d’événements à attacher au contrôle.

ARG0
Premier argument de la méthode de gestionnaire d’événements managés, tel que Object^.

ARG1
Deuxième argument de la méthode de gestionnaire d’événements managés, par EventArgs^exemple .

Notes

Chaque entrée dans le mappage délégué correspond à un délégué de gestionnaire d’événements managés créé par MAKE_DELEGATE.

Exemple

L’exemple de code suivant montre comment utiliser EVENT_DELEGATE_ENTRY pour créer une entrée dans le mappage délégué pour le OnClick gestionnaire d’événements ; consultez également l’exemple de code dans MAKE_DELEGATE. Pour plus d’informations, consultez How to : Sink Windows Forms Events from Native C++ Classes.

BEGIN_DELEGATE_MAP(CMyView)
   EVENT_DELEGATE_ENTRY(OnClick, System::Object^, System::EventArgs^)
END_DELEGATE_MAP()

Spécifications

En-tête : msclr\event.h

INTERFACE_PART

Utilisé entre la macro BEGIN_INTERFACE_MAP et la macro END_INTERFACE_MAP pour chaque interface prise en charge par votre objet.

Syntaxe

INTERFACE_PART( theClass, iid, localClass)

Paramètres

theClass
Nom de la classe qui contient la table d'interface. iid
IID à mapper à la classe incorporée. localClass
Nom de la classe locale.

Notes

Il vous permet de mapper un IID à un membre de la classe indiquée par la classe et localClass.

Pour plus d’informations sur les cartes d’interface, consultez la Note technique 38.

Spécifications

En-tête : afxwin.h

MAKE_DELEGATE

Attache un gestionnaire d’événements à un contrôle managé.

Syntaxe

MAKE_DELEGATE( DELEGATE,  MEMBER) ;

Paramètres

DÉLÉGUER
Type du délégué du gestionnaire d’événements managés, tel que EventHandler.

MEMBRE
Nom de la méthode de gestionnaire d’événements à attacher au contrôle.

Notes

Cette macro crée un délégué de gestionnaire d’événements managés de type DELEGATE et du nom MEMBER. Le délégué du gestionnaire d’événements managés permet à une classe native de gérer les événements managés.

Exemple

L’exemple de code suivant montre comment appeler MAKE_DELEGATE pour attacher un gestionnaire d’événements OnClick à un contrôle MyControlMFC. Pour obtenir une explication plus large du fonctionnement de cette macro dans une application MFC, consultez Comment : récepteur d’événements Windows Forms à partir de classes C++ natives.

// CMyView derives from CWinFormsView.
void CMyView::OnInitialUpdate()
{
   CWinFormsView::OnInitialUpdate();

   GetControl()->Click += MAKE_DELEGATE(System::EventHandler, OnClick);
}

Spécifications

En-tête : msclr\event.h

Voir aussi

Guide pratique pour recevoir des événements Windows Forms de classes C++ natives
Guide pratique pour ajouter le routage des commandes au contrôle Windows Forms
Macros et globals