Partager via


Menus et ressources : ajouts de serveurs

Cet article explique les modifications qui doivent être apportées aux menus et à d’autres ressources dans une application de serveur d’édition visuelle (composant). Une application serveur nécessite de nombreux ajouts à la structure de menu et à d’autres ressources, car elle peut être démarrée dans l’un des trois modes : autonome, incorporé ou en place. Comme décrit dans l’article Menus et ressources (OLE), il existe un maximum de quatre ensembles de menus. Les quatre sont utilisés pour une application serveur complet MDI, tandis que seuls trois sont utilisés pour un miniserveur. L’Assistant Application crée la disposition du menu nécessaire pour le type de serveur souhaité. Certaines personnalisations peuvent être nécessaires.

Si vous n’utilisez pas l’Assistant Application, vous pouvez examiner HIERSVR. RC, script de ressource pour l’exemple d’application MFC HIERSVR, pour voir comment ces modifications sont implémentées.

Les sujets traités dans cet article sont les suivants :

Ajouts de menu serveur

Les applications serveur (composant) doivent avoir des ressources de menu ajoutées pour prendre en charge la modification visuelle OLE. Les menus utilisés lorsque l’application est exécutée en mode autonome n’ont pas besoin d’être modifiés, mais vous devez ajouter deux nouvelles ressources de menu avant de générer l’application : une pour prendre en charge l’activation sur place et une pour prendre en charge l’ouverture complète du serveur. Les deux ressources de menu sont utilisées par les applications complètes et miniserveurs.

  • Pour prendre en charge l’activation sur place, vous devez créer une ressource de menu très similaire à la ressource de menu utilisée lors de l’exécution en mode autonome. La différence dans ce menu est que les éléments fichier et fenêtre (et tous les autres éléments de menu qui traitent de l’application, et non les données) sont manquants. L’application conteneur fournit ces éléments de menu. Pour plus d’informations sur et un exemple de cette technique de fusion de menus, consultez l’article Menus et Ressources : Fusion de menus.

  • Pour prendre en charge l’activation entièrement ouverte, vous devez créer une ressource de menu presque identique à la ressource de menu utilisée lors de l’exécution en mode autonome. La seule modification apportée à cette ressource de menu est que certains éléments sont réécrits pour refléter le fait que le serveur fonctionne sur un élément incorporé dans un document composé.

En plus des modifications répertoriées dans cet article, votre fichier de ressources doit inclure AFXOLESV. RC, qui est nécessaire pour l’implémentation de la bibliothèque de classes Microsoft Foundation. Ce fichier se trouve dans le sous-répertoire MFC\Include.

Ajouts de table Accélérateur d’application serveur

Deux nouvelles ressources de table accélérateur doivent être ajoutées aux applications serveur ; ils correspondent directement aux nouvelles ressources de menu décrites précédemment. La première table d’accélérateurs est utilisée lorsque l’application serveur est activée en place. Il se compose de toutes les entrées de la table d’accélérateurs de la vue, sauf celles liées aux menus Fichier et Fenêtre.

La deuxième table est presque une copie exacte de la table d’accélérateur de la vue. Toutes les modifications parallèles apportées dans le menu entièrement ouvert mentionné dans les ajouts de menu serveur.

Pour obtenir un exemple de ces modifications de table d’accélérateurs, comparez les tables IDR_HIERSVRTYPE_SRVR_IP et IDR_HIERSVRTYPE_SRVR_EMo accélérateur avec des IDR_MAINFRAME dans HIERSVR. Fichier RC inclus dans l’exemple OLE MFC OLE HIERSVR. Les accélérateurs fichier et fenêtre sont manquants dans la table sur place et les copies exactes de celles-ci se trouvent dans la table incorporée.

Ajouts de table de chaînes pour les applications serveur

Une seule addition de table de chaînes est nécessaire dans une application serveur : une chaîne pour indiquer que l’initialisation OLE a échoué. Par exemple, voici l’entrée de table de chaînes générée par l’Assistant Application :

Récompenses client String
IDP_OLE_INIT_FAILED Échec de l’initialisation OLE. Vérifiez que les bibliothèques OLE sont la version correcte.

Ajouts de miniserveurs

Les mêmes ajouts s’appliquent aux miniserveurs que ceux répertoriés ci-dessus pour les serveurs complets. Étant donné qu’un miniserveur ne peut pas être exécuté en mode autonome, son menu principal est beaucoup plus petit. Le menu principal créé par l’Assistant Application n’a qu’un menu Fichier contenant uniquement les éléments Exit and About. Les menus et accélérateurs incorporés et sur place pour les miniserveurs sont identiques à ceux des serveurs complets.

Voir aussi

Menus et ressources (OLE)
Menus et ressource : fusion de menus