Compartir a través de


Controles ActiveX MFC: Eventos

Los controles ActiveX usan eventos para notificar a un contenedor que algo ha ocurrido con el control. Entre los ejemplos comunes de eventos se incluyen los clics en el control, los datos especificados mediante el teclado y los cambios en el estado del control. Cuando se producen estas acciones, el control desencadena un evento para alertar al contenedor.

Los eventos también se denominan mensajes.

MFC admite dos tipos de eventos: stock y custom. Los eventos de stock son aquellos eventos que la clase COleControl controla automáticamente. Para obtener una lista completa de los eventos de stock, consulte el artículo Controles ActiveX de MFC: Agregar eventos de stock. Los eventos personalizados permiten a un control la capacidad de notificar al contenedor cuando se produce una acción específica de ese control. Algunos ejemplos serían un cambio en el estado interno de un control o recepción de un mensaje de ventana determinado.

Para que el control active eventos correctamente, la clase de control debe asignar cada evento del control a una función miembro a la que se debe llamar cuando se produce el evento relacionado. Este mecanismo de asignación (denominado mapa de eventos) centraliza la información sobre el evento y permite a Visual Studio acceder y manipular fácilmente los eventos del control. Esta asignación de eventos se declara mediante la macro siguiente, ubicada en el encabezado (. H) del archivo de la declaración de clase de control:

DECLARE_EVENT_MAP()

Una vez declarada la asignación de eventos, debe definirse en la implementación del control (. CPP) archivo. Las siguientes líneas de código definen el mapa de eventos, lo que permite que el control active eventos específicos:

BEGIN_EVENT_MAP(CMyAxUICtrl, COleControl)
END_EVENT_MAP()

Si utilizas el Asistente de Control ActiveX de MFC para crear el proyecto, éste añade automáticamente estas líneas. Si no utilizas el Asistente de Control ActiveX de MFC, deberás añadir estas líneas manualmente.

Con la Vista de clases, puedes agregar eventos de stock admitidos por eventos personalizados o de clase COleControl que definas. Para cada nuevo evento, la Vista de clases agrega automáticamente la entrada adecuada al mapa de eventos del control y al control. Archivo IDL.

Otros dos artículos describen los eventos en detalle:

Consulte también

Controles ActiveX de MFC
Controles ActiveX MFC: Métodos
COleControl (clase)