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 MyControl
MFC. 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