Menús y recursos: Adiciones de servidor
En este artículo se explican los cambios que se deben realizar en los menús y otros recursos de una aplicación (componente) de servidor de edición visual. Una aplicación de servidor requiere muchas adiciones a la estructura de menús y otros recursos, ya que se puede iniciar en uno de estos tres modos: independiente, insertado o local. Como se describe en el artículo Menús y recursos (OLE), hay un máximo de cuatro conjuntos de menús. Los cuatro se usan para una aplicación de servidor completo MDI, mientras que solo se usan tres para un miniservidor. El asistente para aplicaciones creará el diseño de menú necesario para el tipo de servidor que desee. Es posible que sea necesaria alguna personalización.
Si no usa el asistente para aplicaciones, es aconsejable consultar HIERSVR.RC, el script de recursos de la aplicación de ejemplo HIERSVR de MFC, para ver cómo se implementan estos cambios.
En este artículo se tratan los siguientes temas:
Adiciones de menú de servidor
Las aplicaciones (componentes) de servidor deben tener recursos de menú agregados para admitir la edición visual de OLE. Los menús usados cuando la aplicación se ejecuta en modo independiente no tienen que cambiarse, pero debe agregar dos nuevos recursos de menú antes de crear la aplicación: uno para admitir la activación local y otro para admitir que el servidor esté totalmente abierto. Las aplicaciones completas y los miniservidores usan ambos recursos de menú.
Para admitir la activación local, debe crear un recurso de menú que sea muy similar al recurso de menú que se usa al ejecutarse en modo independiente. La diferencia en este menú es que faltan los elementos Archivo y Ventana (y cualquier otro elemento de menú que se ocupe de la aplicación y no de los datos). La aplicación contenedora proporcionará estos elementos de menú. Para obtener más información y un ejemplo de esta técnica de combinación de menús, consulte el artículo Menús y recursos: Combinación de menús.
Para admitir la activación totalmente abierta, debe crear un recurso de menú que sea casi idéntico al recurso de menú que se usa al ejecutarse en modo independiente. La única modificación de este recurso de menú es que algunos elementos se modifican para reflejar el hecho de que el servidor funciona en un elemento insertado de un documento compuesto.
Además de los cambios enumerados en este artículo, el archivo de recursos debe incluir AFXOLECL.RC, que es necesario para la implementación de la biblioteca MFC (Microsoft Foundation Class). Este archivo está en el subdirectorio MFC\Include.
Adiciones de tablas de aceleradores de aplicaciones de servidor
Se deben agregar dos nuevos recursos de tabla de aceleradores a las aplicaciones de servidor; se corresponden directamente con los nuevos recursos de menú descritos anteriormente. La primera tabla de aceleradores se usa cuando la aplicación de servidor se activa en modo local. Consta de todas las entradas de la tabla de aceleradores de la vista, excepto las vinculadas a los menús Archivo y Ventana.
La segunda tabla es casi una copia exacta de la tabla de aceleradores de la vista. Las diferencias se corresponden con los cambios realizados en el menú totalmente abierto que se menciona en Adiciones de menú de servidor.
Para ver un ejemplo de estos cambios en la tabla de aceleradores, compare las tablas de aceleradores IDR_HIERSVRTYPE_SRVR_IP y IDR_HIERSVRTYPE_SRVR_EMB con IDR_MAINFRAME en el archivo HIERSVR.RC incluido en el archivo HIERSVR de ejemplo de OLE para MFC. Faltan los aceleradores de los menús Archivo y Ventana de la tabla local y las copias exactas de estos se encuentran en la tabla insertada.
Adiciones de tablas de cadenas para aplicaciones de servidor
Solo se necesita una adición de tabla de cadenas en una aplicación de servidor: una cadena para indicar que se produjo un error en la inicialización de OLE. 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. |
Adiciones de miniservidor
Se aplican las mismas adiciones a los miniservidores que aquellas enumeradas anteriormente para los servidores completos. Dado que un miniservidor no se puede ejecutar en modo independiente, su menú principal es mucho más pequeño. El menú principal creado por el asistente para aplicaciones solo tiene un menú Archivo que contiene solo los elementos Salir y Acerca de. Los menús y aceleradores insertados y locales de los miniservidores son los mismos que los de los servidores completos.
Consulte también
Menús y recursos (OLE)
Menús y recursos: Combinación de menús