Puede utilizar al Asistente para objetos ATL para agregar un objeto o un control a sus proyectos basada en MFC o ATL. Para cada objeto COM o control que se agrega, el asistente genera archivos CPP y H, así como un archivo RGS para soporte de secuencias de comandos del registro.
Si intenta agregar un simple objeto COM a un proyecto MFC, necesita agregar compatibilidad con ATL al proyecto existente. Para obtener más información sobre esta función, consulte Agregar compatibilidad con ATL a su proyecto de MFC.
&Notanbsp; El Asistente para objetos ATL agrega el objeto al proyecto activo. Si desea agregar el control a otro proyecto en el área de trabajo, primero debe realizar es el proyecto activo.
Para agregar un objeto o un control mediante el Asistente para objetos ATL
Con el proyecto abierto, seleccione el Nuevo objeto ATL en el menú Insertar.
- o -
Desde ClassView, haga clic en el botón derecho del ratón en la carpeta de nivel de proyecto y seleccione Nuevo objeto ATL en el menú emergente.
Se abrirá el Asistente para objetos ATL.
&Notanbsp; Si se trata de un proyecto MFC que previamente no ha agregado un objeto ATL, solicitará que especifique si desea compatibilidad con ATL agregado al proyecto. Haga clic en Sí se abrirá al Asistente para objetos ATL.
El Asistente para objetos ATL muestra las categorías de objetos a la izquierda y los iconos de los objetos de cada categoría de la derecha. Elija una categoría; el asistente muestra los iconos de los objetos en esa categoría.
Objetos ATL
Objeto simple agrega un objeto COM mínimo.
Objeto de agregar agrega un objeto COM que se extiende el shell de Visual C++ con su propio botón de barra de herramientas y gestión de eventos. Este objeto ofrece la misma funcionalidad que el agregado por el Asistente de DevStudio Add-in en el menú archivo de Visual C++, ficha de Nuevos proyectos.
Internet Explorer objeto agrega un objeto que soporta las interfaces necesarias por Internet Explorer, pero sin el apoyo de una interfaz de usuario.
Componente de servidor activo agrega un objeto que puede ser utilizado por la función de las páginas Active Server de Internet Information Server (IIS).
Complemento MMC crea un marco para un objeto de complemento de Microsoft Management Console. Consulte MMC Snap-In de asistente y Microsoft Management Console en el SDK de la plataforma para obtener más información.
Componente de servidor de transacciones de MS incluye los archivos de encabezado necesarios por Microsoft Transaction Server y define el objeto como nonaggregatable.
Componente registrador objeto agrega un objeto que implementa la interfaz IComponentRegistrar . Este objeto puede utilizarse para registrar todos los objetos en el servidor en proceso que declarar la macro DECLARE_OBJECT_DESCRIPTION . Con este objeto puede registrar o anular el registro de objetos individualmente, a diferencia de DllRegisterServer y DllUnregisterServer que registrar y anular el registro de todos los objetos en el servidor. También puede obtener una lista de objetos en el servidor y sus descripciones con el método de IComponentRegistrar::GetComponents.
Controles ATL
Control total se agrega un objeto que soporta las interfaces para todos los contenedores.
Control Lite agrega un objeto que soporta las interfaces necesarias para Internet Explorer, incluido el soporte para una interfaz de usuario.
Página de propiedades agrega un objeto que implementa una página de propiedades.
Control compuesto agrega un control que puede alojar muchos otros controles.
HTML Control agrega un control con la funcionalidad de DHTML y muestra una página web HTML en su interfaz de usuario.
Control compuesto Lite agrega un control compuesto que puede alojar otros controles, pero admite sólo las interfaces necesarias para Internet Explorer.
Lite Control HTML agrega un control con la funcionalidad de DHTML y muestra una página web HTML en su interfaz de usuario, pero admite sólo las interfaces necesarias para Internet Explorer.
ATL varios
Diálogo agrega un objeto que implementa un cuadro de diálogo.
Acceso a datos
Proveedor agrega código para admitir plantillas de proveedor OLE DB.
Consumidor agrega código para admitir plantillas de consumidor OLE DB.
Haga doble clic en el control o el objeto que desea insertar. El Asistente para objetos ATL muestra un cuadro de diálogo Mostrar opciones que se aplican a su objeto o control.
&Notanbsp; Dependiendo del tipo de objeto o control seleccionado, algunas de las opciones descritas a continuación y páginas no estén disponibles.
En la página de nombres , escriba los nombres de clase y de archivo. De forma predeterminada, el nombre que introduzca nombre corto se convierte en la raíz de todos los demás nombres en esta página. Usted puede escribir sus propios nombres en lugar de aceptar estos valores predeterminados.
Clase es el nombre de la clase que implementa el objeto.
Coclase es el nombre de la clase de componente que contiene una lista de interfaces admitidos por el objeto.
Interfaz es el nombre de la interfaz de que crear para el objeto. Esta interfaz contiene los métodos personalizados. Para controles completos, controles de explorador de Internet, objetos simples, objetos de Internet Explorer, agregar objetos, componentes de servidor activo y componentes de servidor de transacciones de Microsoft, el asistente crea una interfaz con el nombre especificado. Para los objetos de la página de propiedades, no se ha creado ninguna interfaz personalizada y el asistente asigna IUnknown como la interfaz de objetos. Cuadro de diálogo objetos no crear una interfaz.
Tipo es una cadena de descripción del objeto que entra en el registro.
ProgID es un nombre que pueden utilizar contenedores en lugar del CLSID del objeto.
En la página de atributos , seleccione un threading modelo, tipo de interfaz y soporte de agregación:
Elija Interfaces duales si desea interfaces del objeto derivar de IDispatch , así como apoyar sus funciones personalizadas (la vtable tiene funciones de interfaz personalizada más métodos de IDispatch de enlace en tiempo de ejecución). Esto permite que los clientes COM y controladores de automatización para acceder a su objeto.
Elija Interfaces personalizadas para derivar las interfaces del objeto de IUnknown (la vtable tiene funciones de interfaz personalizada y no los métodos IDispatch ). Una interfaz personalizada puede ser más rápida que una interfaz dual, especialmente a través de límites de procesos.
Elija sólo para la agregación de si desea que el objeto se crea una instancia sólo si es que se agregan.
Active la casilla de ISupportErrorInfo apoyo para que el objeto de implementar la ISupportErrorInfo interfaz para informes de errores.
Active la casilla de Puntos de conexión de soporte para agregar compatibilidad para puntos de conexión para el objeto. El asistente obtendrán automáticamente la clase del objeto de IConnectionPointContainerImpl.
Marque la casilla de verificación del Contador de referencias de subprocesamiento libre para crear un objeto de contador de referencias de subprocesamiento libre a Mariscal eficientemente punteros de interfaz entre subprocesos en el mismo proceso.
En la página de varios , elija las características del objeto.
Seleccione opaco para hacer su control completamente opaca, por lo que ninguno de los contenedores muestra detrás de los límites de control. Esto ayuda a que el contenedor de dibujar el control más rápidamente. El rectángulo de todo control se pasa al método OnDraw de la clase de control. Esta opción establece la VIEWSTATUS_OPAQUE de bits en el VIEWSTATUS (enumeración).
Elija Fondo sólido para que el control sea un color sólido y no un patrón de fondo. Esta opción es válida sólo si el opaco es opción también está seleccionado. Esta opción establece el bit VIEWSTATUS_SOLIDBKGND en la enumeración de VIEWSTATUS.
Elija Invisible en tiempo de ejecución para hacer su control invisible en tiempo de ejecución. Puede utilizar controles invisibles para realizar operaciones en segundo plano, como disparar eventos a intervalos de tiempo.
Elija actúa como botón para activar el control para que actúe como un botón, en particular para mostrar a sí mismo como el botón predeterminado basado en la propiedad de ambiente DisplayAsDefault.
Elija actúa como etiqueta para permitir su control sustituir la etiqueta original del contenedor.
Elija Agregar control basado en superclase una de las clases de ventana estándar. La lista desplegable contiene nombres de clase de ventana definidos por Windows. Cuando se elige uno de estos, el asistente agrega una variable de miembro CContainedWindow a la clase del control. CContainedWindow::Create será superclase que especifique la clase de ventana.
Seleccione Normalizar DC para tener el control de crear un contexto de dispositivo normalizada cuando se llama a llamar a sí mismo. Esto normaliza la apariencia del control, pero es menos eficiente.
Elija Insertable para tener el control aparece en el cuadro de diálogo Insertar objeto de aplicaciones como Microsoft Word y Microsoft Excel. El control puede insertarse luego por cualquier aplicación que admita objetos incrustados a través del cuadro de diálogo Insertar objeto.
Elija Ventana sólo a la fuerza el control de ventana, incluso en contenedores que admiten objetos sin ventanas. Si no selecciona esta opción, el control será automáticamente ser sin ventanas en contenedores que admiten objetos sin ventanas y automáticamente ventanas en contenedores que no admiten objetos sin ventanas.
En la página de Propiedades de Stock , seleccione las propiedades de material que desea que el objeto de apoyo, tales como la leyenda o el Color del borde. Puede seleccionar todas las propiedades del material a la vez haciendo clic en el gt; > botón.
En la página de cadenas , escriba nombres para el objeto de la página de propiedad.
Título es el texto que aparece en ficha de la página de propiedades.
Cadena es una cadena de texto que describe la página. El marco de propiedad podría utilizar la descripción de una punta de herramienta o línea de Estado. El marco de propiedad estándar actualmente no usa esta cadena.
HelpFile es el nombre del archivo de ayuda asociado. El nombre del archivo de ayuda debe ser el nombre simple sin una ruta de acceso. Cuando el usuario presiona ayuda, el marco abre el archivo de ayuda en el directorio especificado en el valor de la clave de HelpDir en las entradas de registro de página de propiedades bajo su CLSID.
En la página Add-in , seleccione características del objeto Add-in.
Barra de herramientas proporcionan crea un botón de barra de herramientas que el usuario puede hacer clic para llevar a cabo un comando añadido por el objeto Add-in.
Nombre del comando es el nombre del comando agregado a Visual C++ por su objeto de complemento. Este nombre aparece en la lista en la ficha archivos de macros y complementos del menú herramientas , opción Personalizar .
Nombre del método es el nombre del método que implementa el comando.
Barra de herramientas de texto es el texto que desea que aparezca en el botón que agregar a la barra de herramientas para llevar a cabo su comando.
Status bar texto es el texto que desee que aparezca en la línea de estado cuando se está ejecutando el comando.
Información sobre herramientas texto es el texto que desee que aparezca en el mensaje de información sobre herramientas para el botón de la barra de herramientas al colocar ratón del usuario sobre el botón.
Eventos de aplicación permite que el objeto Add-in capturar eventos de aplicación.
Depurador de eventos permite que el objeto Add-in capturar eventos de depurador.
En la página ASP , elegir las funciones para el componente de servidor activo.
OnStartPage y OnEndPage, activada de forma predeterminada, los métodos OnStartPage y OnEndPage se agrega al objeto.
Si está marcada OnStartPage y OnEndPage , puede elegir qué Objetos intrínsecos que desea tener disponibles como punteros a miembros de la clase del objeto. De forma predeterminada, se comprueba cada objeto intrínseco.
En la página MTX , elegir las funciones para el componente Microsoft Transaction Server. Doble y personalizado de elegir el tipo de interfaz implementada y Puntos de conexión de soporte agrega soporte para puntos de conexión. Estas opciones son los mismos que los de la página de atributos para otros tipos de objetos. Además, la página MTX tiene dos opciones exclusivas:
IObjectControl de soporte proporciona acceso a los tres métodos de IObjectControl : Activary desactivar y CanBePooled,.
Puede agrupar dice el entorno de tiempo de ejecución de Transaction Server que el objeto debe ser regresó a un pool de instancia después de desactivación, en lugar de destruido. No se selecciona esta opción a menos que también se selecciona la opción de Soporte IObjectControl.