Compartir a través de


Controles ActiveX MFC: Métodos

Un control ActiveX desencadena eventos para comunicarse entre sí mismo y su contenedor del control. Un contenedor también puede comunicarse con un control mediante métodos y propiedades. Los métodos también se denominan funciones.

Los métodos y las propiedades proporcionan una interfaz exportada para uso de otras aplicaciones, como clientes de automatización y contenedores de controles ActiveX. Para obtener más información sobre propiedades de controles ActiveX, vea el artículo Controles ActiveX de MFC: Propiedades.

Los métodos se utilizan similar y propósito a las funciones miembro de clases de c++. Hay dos tipos de métodos que el control puede implementar: acción y personalizado. Similar a eventos comunes, los métodos comunes son los métodos para los que COleControl proporciona una implementación. Para obtener más información sobre los métodos comunes, vea el artículo Controles ActiveX de MFC: Agregar métodos comunes. Los métodos personalizados, definidos por el desarrollador, permiten la personalización adicional del control. Para obtener más información, vea el artículo Controles ActiveX de MFC: Métodos de personalizadas de suma.

La biblioteca Microsoft Foundation Class (MFC) implementa un mecanismo que permite que el control admita los métodos comunes y personalizados. La primera parte es clase COleControl. Derivado de CWnd, métodos de acción de compatibilidad con las funciones miembro de COleControl que son comunes a todos los controles ActiveX. La segunda parte de este mecanismo es el mapa de envío. Un mapa de distribución es similar a un mapa de mensajes; sin embargo, en lugar de asignar una función a un identificador de mensaje de Windows, un miembro virtual de los mapas de asignación send funciona a identificadores de IDispatch.

Para que un control admite varios métodos correctamente, la clase debe declarar un mapa de envío. Esto se realiza mediante la siguiente línea de código encuentra en encabezado de clase control (. H) archivo:

DECLARE_DISPATCH_MAP()

La finalidad principal de mapa de distribución es establecer la relación entre los nombres de método utilizados por un llamador externo (como el contenedor) y las funciones miembro de clases de controles que implementan los métodos. Una vez declarado el mapa send, debe definirse en el archivo de implementación del control (.CPP). Las siguientes líneas de código definen el envío asignado:

BEGIN_DISPATCH_MAP(CMyAxUICtrl, COleControl)


...


END_DISPATCH_MAP()

Si utilizó Asistente para controles ActiveX MFC para crear el proyecto, estas se agregaron líneas automáticamente. Si no se utiliza el asistente para controles ActiveX MFC, debe agregar estas líneas manualmente.

Los artículos siguientes explican métodos con detalle:

Vea también

Conceptos

Controles ActiveX MFC