Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se explican los cambios que deben realizarse en los menús y otros recursos de una aplicación de servidor de edición visual (componente). 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 en su lugar. 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 de 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 posible que desee examinar HIERSVR. RC, el script de recursos de la aplicación de ejemplo de MFC HIERSVR, para ver cómo se implementan estos cambios.
Entre los temas tratados en este artículo se incluyen:
Adiciones de menú de servidor
Las aplicaciones de servidor (componente) deben tener recursos de menú agregados para admitir la edición visual OLE. Los menús usados cuando se ejecuta la aplicación en modo independiente no tienen que cambiarse, pero debe agregar dos nuevos recursos de menú antes de compilar la aplicación: uno para admitir la activación local y otro para admitir que el servidor esté totalmente abierto. Las aplicaciones completas y 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 trate con la aplicación y no los datos). La aplicación contenedora proporcionará estos elementos de menú. Para obtener más información sobre 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ú 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 vuelven a asignar para reflejar el hecho de que el servidor funciona en un elemento incrustado en un documento compuesto.
Además de los cambios enumerados en este artículo, el archivo de recursos debe incluir AFXOLESV. RC, que es necesario para la implementación de la biblioteca microsoft Foundation Class. Este archivo está en el subdirectorio MFC\Include.
Adiciones de tabla del acelerador de aplicaciones de servidor
Se deben agregar dos nuevos recursos de tabla de aceleradores a las aplicaciones de servidor; corresponden directamente a los nuevos recursos de menú descritos anteriormente. La primera tabla de aceleradores se usa cuando la aplicación de servidor se activa en su lugar. Consta de todas las entradas de la tabla de aceleración 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 aceleración de la vista. Cualquier diferencia en paralelo que se realice en el menú totalmente abierto mencionado en adiciones de menú del servidor.
Para ver un ejemplo de estos cambios en la tabla de aceleradores, compare las tablas de aceleración de IDR_HIERSVRTYPE_SRVR_IP y IDR_HIERSVRTYPE_SRVR_EMB con IDR_MAINFRAME en HIERSVR. Archivo RC incluido en el archivo HIERSVR de ejemplo OLE de MFC. Faltan los aceleradores de archivos y ventanas de la tabla local y las copias exactas de ellas 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 OLE. Por ejemplo, esta es la entrada string-table que genera el asistente para aplicaciones:
| identificación | Cuerda |
|---|---|
| IDP_OLE_INIT_FAILED | Error de inicialización de OLE. Asegúrese de que las bibliotecas OLE son la versión correcta. |
Adiciones de miniservidor
Las mismas adiciones se aplican a los miniservidores que los enumerados anteriormente para 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 Exit y About. Los menús y aceleradores insertados y en contexto para 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