Macros de mapa de interfaz y delegado
MFC admite estas macros para asignaciones de delegado e interfaz:
Nombre | Descripción |
---|---|
BEGIN_DELEGATE_MAP | Comienza un mapa de delegado. |
BEGIN_INTERFACE_MAP | Comienza la definición del mapa con interfaz. |
CommandHandler (delegado) | 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.
Sintaxis
BEGIN_DELEGATE_MAP( CLASS );
Parámetros
CLASS
Clase en la que se hospeda el control administrado.
Comentarios
Esta macro marca el principio de una lista de entradas delegadas, que componen una asignación de delegado. Para obtener un ejemplo de cómo se usa esta macro, consulte EVENT_DELEGATE_ENTRY.
Requisitos
Encabezado: msclr\event.h
BEGIN_INTERFACE_MAP
Comienza la definición del mapa con interfaz cuando se usa en el archivo de implementación.
Sintaxis
BEGIN_INTERFACE_MAP( theClass, baseClass )
Parámetros
theClass
La clase en la que se debe definir el mapa de interfaz.
baseClass
La clase de la que theClass se deriva.
Comentarios
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.
Requisitos
Encabezado: afxwin.h
CommandHandler (delegado)
Registra métodos de devolución de llamada con un origen de comandos.
Sintaxis
delegate void CommandHandler( UINT^ cmdID );
Parámetros
cmdID
Identificador del comando.
Comentarios
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.
Requisitos
Encabezado: afxwinforms.h (definido en el ensamblado 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.
Sintaxis
delegate void CommandUIHandler( unsigned int cmdID, ICommandUI^ cmdUI);
Parámetros
cmdID
Identificador del comando.
cmdUI
Identificador del mensaje de comando.
Comentarios
Este delegado registra métodos de devolución de llamada con un mensaje de comando de actualización de la interfaz de usuario. CommandUIHandler
es similar a CommandHandler, salvo que este delegado se usa con comandos de actualización de objetos de interfaz de usuario. 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.
Requisitos
Encabezado: afxwinforms.h (definido en el ensamblado atlmfc\lib\mfcmifc80.dll)
END_DELEGATE_MAP
Finaliza un mapa de delegado.
Sintaxis
END_DELEGATE_MAP();
Comentarios
Esta macro marca el fin de una lista de entradas delegadas, que componen una asignación de delegado. Para obtener un ejemplo de cómo se usa esta macro, consulte EVENT_DELEGATE_ENTRY.
Requisitos
Encabezado: msclr\event.h
END_INTERFACE_MAP
Finaliza el mapa de interfaz en el archivo de implementación.
Sintaxis
END_INTERFACE_MAP( )
Comentarios
Para obtener más información sobre los mapas de interfaz, vea la Nota técnica 38.
Requisitos
Encabezado: afxwin.h
EVENT_DELEGATE_ENTRY
Crea una entrada en el mapa delegado.
Sintaxis
EVENT_DELEGATE_ENTRY(MEMBER, ARG0, ARG1);
Parámetros
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^
.
Comentarios
Cada entrada del mapa delegado corresponde a un delegado de controlador de eventos administrado creado por MAKE_DELEGATE.
Ejemplo
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()
Requisitos
Encabezado: 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.
Sintaxis
INTERFACE_PART( theClass, iid, localClass)
Parámetros
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.
Comentarios
Permite asignar un IID a un miembro de la clase indicada por theClass y localClass.
Para obtener más información sobre los mapas de interfaz, vea la Nota técnica 38.
Requisitos
Encabezado: afxwin.h
MAKE_DELEGATE
Asocia un controlador de eventos a un control administrado.
Sintaxis
MAKE_DELEGATE( DELEGATE, MEMBER) ;
Parámetros
DELEGATE
El tipo del delegado del controlador de eventos administrados, como EventHandler.
MEMBER
El nombre del método de controlador de eventos que se va a adjuntar al control.
Comentarios
Esta macro crea un delegado de controlador de eventos administrados de tipo DELEGATE y del nombre MEMBER. El delegado del controlador de eventos administrados permite que una clase nativa controle los eventos administrados.
Ejemplo
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);
}
Requisitos
Encabezado: msclr\event.h
Consulte también
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