Menús y recursos: Adiciones de contenedor
En este artículo se explican los cambios que se deben realizar en los menús y otros recursos de una aplicación contenedora de edición visual.
En las aplicaciones contenedoras, es necesario realizar dos tipos de cambios: modificaciones en los recursos existentes para admitir la edición visual OLE y la adición de nuevos recursos usados para la activación en contexto. Si usa el Asistente para aplicaciones para crear la aplicación contenedora, estos pasos se realizarán automáticamente, pero pueden requerir alguna personalización.
Si no usa el Asistente para aplicaciones, es aconsejable consultar OCLIENT.RC, el script de recursos de la aplicación de ejemplo OCLIENT, para ver cómo se implementan estos cambios. Consulte el ejemplo OCLIENT de OLE de MFC.
En este artículo se tratan los siguientes temas:
Adiciones de menús contenedores
Debe agregar los siguientes elementos al menú Edición:
Elemento | Propósito |
---|---|
Insertar nuevo objeto | Abre el cuadro de diálogo Insertar objeto OLE para insertar un elemento vinculado o insertado en el documento. |
Pegar vínculo | Pega un vínculo al elemento del Portapapeles en el documento. |
Verbo OLE | Llama al verbo principal del elemento seleccionado. El texto de este elemento de menú cambia para reflejar el verbo principal del elemento seleccionado. |
Vínculos | Abre el cuadro de diálogo Editar vínculos OLE para cambiar los elementos vinculados existentes. |
Además de los cambios enumerados en este artículo, el archivo de origen debe incluir AFXOLECL.RC, que es necesario para la implementación de la biblioteca MFC (Microsoft Foundation Class). Insertar nuevo objeto es la única adición de menú necesaria. Se pueden agregar otros elementos, pero los enumerados aquí son los más comunes.
Debe crear un nuevo menú para la aplicación contenedora si desea admitir la activación en contexto de elementos contenidos. Este menú consta del mismo menú Archivo y menús emergentes de Ventana que los usados cuando se abren archivos, pero tiene dos separadores colocados entre ellos. Estos separadores se usan para indicar dónde debe colocarse el elemento (aplicación) del servidor (componente) cuando se activa localmente. Para más información sobre esta técnica de combinación de menús, vea Menús y recursos: combinación de menús.
Adiciones de tablas de aceleradores de aplicaciones contenedoras
Si admite la activación en contexto, se necesitan pequeños cambios en los recursos de las tablas de aceleradores de una aplicación contenedora. El primer cambio permite al usuario presionar la tecla de escape (ESC) para cancelar el modo de edición en contexto. Agregue la siguiente entrada a la tabla principal de aceleradores:
ID | Clave | Tipo |
---|---|---|
ID_CANCEL_EDIT_CNTR | VK_ESCAPE | VIRTKEY |
El segundo cambio consiste en crear una nueva tabla de aceleradores que corresponda al nuevo recurso de menú creado para la activación en contexto. En esta tabla hay entradas para los menús Archivo y Ventana, además de la entrada VK_ESCAPE anterior. En el ejemplo siguiente se muestra la tabla de aceleradores creada para la activación en contexto en el CONTENEDOR de ejemplo de MFC:
ID | Clave | Tipo |
---|---|---|
ID_FILE_NEW | CTRL+N | VIRTKEY |
ID_FILE_OPEN | CTRL+O | VIRTKEY |
ID_FILE_SAVE | CTRL+S | VIRTKEY |
ID_FILE_PRINT | CTRL+P | VIRTKEY |
ID_NEXT_PANE | VK_F6 | VIRTKEY |
ID_PREV_PANE | SHIFT+VK_F6 | VIRTKEY |
ID_CANCEL_EDIT_CNTR | VK_ESCAPE | VIRTKEY |
Adiciones de tablas de cadenas para aplicaciones contenedoras
La mayoría de los cambios realizados en las tablas de cadenas para las aplicaciones contenedoras corresponden a los elementos de menú adicionales mencionados en Adiciones de menús contenedores. Proporcionan el texto que se muestra en la barra de estado cuando se muestran los elementos de menú. Por ejemplo, estas son las entradas de la tabla de cadenas que genera el Asistente para aplicaciones:
Identificador | String |
---|---|
IDP_OLE_INIT_FAILED | Error de inicialización de OLE. Asegúrese de que las bibliotecas OLE tienen la versión correcta. |
IDP_FAILED_TO_CREATE | No se pudo crear el objeto. Asegúrese de que el objeto se especifica en el registro del sistema. |
Consulte también
Menús y recursos (OLE)
Menús y recursos: Adiciones de servidor