Partager via


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 :

Name Description
BEGIN_DELEGATE_MAP Commence une carte de délégués.
BEGIN_INTERFACE_MAP Commence la définition de la carte interface.
CommandHandler Delegate 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.

Syntax

BEGIN_DELEGATE_MAP(  CLASS );

Parameters

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

Remarks

Cette macro marque le début d’une liste d’entrées de délégué, qui composent un mappage délégué. For an example of how this macro is used, see EVENT_DELEGATE_ENTRY.

Requirements

Header: 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.

Syntax

BEGIN_INTERFACE_MAP( theClass, baseClass )

Parameters

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

baseClass
The class from which theClass derives from.

Remarks

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.

Requirements

Header: afxwin.h

CommandHandler Delegate

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

Syntax

delegate void CommandHandler(  UINT^ cmdID  );

Parameters

cmdID
ID de la commande.

Remarks

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.

Requirements

Header: afxwinforms.h (defined in assembly atlmfc\lib\mfcmifc80.dll)

CommandUIHandler

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

Syntax

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

Parameters

cmdID
ID de la commande.

cmdUI
ID du message de commande.

Remarks

Ce délégué inscrit les méthodes de rappel avec un message de commande de mise à jour de l’interface utilisateur. CommandUIHandler is similar to CommandHandler except that this delegate is used with user interface object update commands. 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.

Requirements

Header: afxwinforms.h (defined in assembly atlmfc\lib\mfcmifc80.dll)

END_DELEGATE_MAP

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

Syntax

END_DELEGATE_MAP();

Remarks

Cette macro marque la fin d’une liste d’entrées de délégué, qui composent un mappage délégué. For an example of how this macro is used, see EVENT_DELEGATE_ENTRY.

Requirements

Header: msclr\event.h

END_INTERFACE_MAP

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

Syntax

END_INTERFACE_MAP( )

Remarks

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

Requirements

Header: afxwin.h

EVENT_DELEGATE_ENTRY

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

Syntax

EVENT_DELEGATE_ENTRY(MEMBER, ARG0, ARG1);

Parameters

MEMBER
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 .

Remarks

Each entry in the delegate map corresponds to a managed event handler delegate created by MAKE_DELEGATE.

Example

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()

Requirements

Header: 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.

Syntax

INTERFACE_PART( theClass, iid, localClass)

Parameters

theClass
Nom de la classe qui contient la table d'interface.

iid
IID à mapper à la classe incorporée.

localClass
Nom de la classe locale.

Remarks

It allows you to map an IID to a member of the class indicated by theClass and localClass.

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

Requirements

Header: afxwin.h

MAKE_DELEGATE

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

Syntax

MAKE_DELEGATE( DELEGATE,  MEMBER) ;

Parameters

DELEGATE
The type of the managed event handler delegate, such as EventHandler.

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

Remarks

This macro creates a managed event handler delegate of type DELEGATE and of the name MEMBER. Le délégué du gestionnaire d’événements managés permet à une classe native de gérer les événements managés.

Example

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);
}

Requirements

Header: msclr\event.h

See also

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