Compartir a través de


Macros de mapa de interfaz y delegado

MFC admite estas macros para asignaciones de delegado e interfaz:

Name Description
BEGIN_DELEGATE_MAP Comienza un mapa de delegado.
BEGIN_INTERFACE_MAP Comienza la definición del mapa con interfaz.
CommandHandler Delegate Registra métodos de devolución de llamada con un origen de comandos.
END_DELEGATE_MAP Finaliza un mapa de delegado.
END_INTERFACE_MAP Finaliza el mapa de interfaz en el archivo de implementación.
EVENT_DELEGATE_ENTRY Crea una entrada en el mapa delegado.
INTERFACE_PART Usado entre la macro BEGIN_INTERFACE_MAP y la macro END_INTERFACE_MAP para cada interfaz que vaya a soportar el objeto.
MAKE_DELEGATE Asocia un controlador de eventos a un control administrado.

BEGIN_DELEGATE_MAP

Comienza un mapa de delegado.

Syntax

BEGIN_DELEGATE_MAP(  CLASS );

Parameters

CLASS
Clase en la que se hospeda el control administrado.

Remarks

Esta macro marca el principio de una lista de entradas delegadas, que componen una asignación de delegado. For an example of how this macro is used, see EVENT_DELEGATE_ENTRY.

Requirements

Header: msclr\event.h

BEGIN_INTERFACE_MAP

Comienza la definición del mapa con interfaz cuando se usa en el archivo de implementación.

Syntax

BEGIN_INTERFACE_MAP( theClass, baseClass )

Parameters

theClass
La clase en la que se debe definir el mapa de interfaz.

baseClass
The class from which theClass derives from.

Remarks

Por cada interfaz que se implementa hay una o más llamadas de macro INTERFACE_PART. Por cada agregado que use la clase, hay una llamada de macro INTERFACE_AGGREGATE.

Para obtener más información sobre los mapas de interfaz, vea la Nota técnica 38.

Requirements

Header: afxwin.h

CommandHandler Delegate

Registra métodos de devolución de llamada con un origen de comandos.

Syntax

delegate void CommandHandler(  UINT^ cmdID  );

Parameters

cmdID
Identificador del comando.

Remarks

Este delegado registra métodos de devolución de llamada con un origen de comandos. Cuando se agrega un delegado al objeto de origen del comando, el método de devolución de llamada se convierte en un controlador para los comandos procedentes del origen especificado.

Para más información, consulte Cómo agregar enrutamientos de comandos al control de Windows Forms.

Para más información sobre el uso de Windows Forms, consulte Utilizar un control de usuario de Windows Forms en MFC.

Requirements

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

CommandUIHandler

Registra métodos de devolución de llamada con un mensaje de comando de actualización de la interfaz de usuario.

Syntax

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

Parameters

cmdID
Identificador del comando.

cmdUI
Identificador del mensaje de comando.

Remarks

Este delegado registra métodos de devolución de llamada con un mensaje de comando de actualización de la interfaz de usuario. CommandUIHandler is similar to CommandHandler except that this delegate is used with user interface object update commands. Los comandos de actualización de la interfaz de usuario deben asignarse uno a uno con métodos de controlador de mensajes.

Para más información sobre el uso de Windows Forms, consulte Utilizar un control de usuario de Windows Forms en MFC.

Requirements

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

END_DELEGATE_MAP

Finaliza un mapa de delegado.

Syntax

END_DELEGATE_MAP();

Remarks

Esta macro marca el fin de una lista de entradas delegadas, que componen una asignación de delegado. For an example of how this macro is used, see EVENT_DELEGATE_ENTRY.

Requirements

Header: msclr\event.h

END_INTERFACE_MAP

Finaliza el mapa de interfaz en el archivo de implementación.

Syntax

END_INTERFACE_MAP( )

Remarks

Para obtener más información sobre los mapas de interfaz, vea la Nota técnica 38.

Requirements

Header: afxwin.h

EVENT_DELEGATE_ENTRY

Crea una entrada en el mapa delegado.

Syntax

EVENT_DELEGATE_ENTRY(MEMBER, ARG0, ARG1);

Parameters

MEMBER
Método de controlador de eventos que se va a adjuntar al control.

ARG0
Primer argumento del método de controlador de eventos administrados, como Object^.

ARG1
Primer argumento del método de controlador de eventos administrados, como EventArgs^.

Remarks

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

Example

En el ejemplo de código siguiente se muestra cómo usar EVENT_DELEGATE_ENTRY para crear una entrada en el mapa delegado para el controlador de eventos OnClick; vea también el ejemplo de código en MAKE_DELEGATE. Para más información, consulte Cómo: Recibir eventos de Windows Forms de clases nativas de C++.

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

Requirements

Header: msclr\event.h

INTERFACE_PART

Usado entre la macro BEGIN_INTERFACE_MAP y la macro END_INTERFACE_MAP para cada interfaz que vaya a soportar el objeto.

Syntax

INTERFACE_PART( theClass, iid, localClass)

Parameters

theClass
El nombre de la clase que contiene el mapa de interfaz.

iid
El IID que se debe asignar a la clase incrustada.

localClass
El nombre de la clase local.

Remarks

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

Para obtener más información sobre los mapas de interfaz, vea la Nota técnica 38.

Requirements

Header: afxwin.h

MAKE_DELEGATE

Asocia un controlador de eventos a un control administrado.

Syntax

MAKE_DELEGATE( DELEGATE,  MEMBER) ;

Parameters

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

MEMBER
El nombre del método de controlador de eventos que se va a adjuntar al control.

Remarks

This macro creates a managed event handler delegate of type DELEGATE and of the name MEMBER. El delegado del controlador de eventos administrados permite que una clase nativa controle los eventos administrados.

Example

En el ejemplo de código siguiente se muestra cómo llamar a MAKE_DELEGATE para adjuntar un controlador de eventos OnClick a un control MFC MyControl. Para obtener una explicación más amplia de cómo funciona esta macro en una aplicación MFC, vea Cómo: Recibir eventos de Windows Forms de clases nativas de C++.

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

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

Requirements

Header: msclr\event.h

See also

Cómo: Recibir eventos de Windows Forms de clases nativas de C++
Cómo: Agregar enrutamientos de comandos al control de Windows Forms
Macros y globales