menus et ressources (OLE)
Ce groupe d'articles explique l'utilisation des menus et des ressources dans les applications de documents OLE MFC.
Exigences supplémentaires des emplacements de modifications OLE sur le menu et d'autres ressources fournies par les applications de document OLE car il existe plusieurs modes dans lesquels les applications de conteneur et de serveur (composant) peuvent être démarrées et utilisées. Par exemple, une application de serveur complète peut s'exécuter dans l'un des trois modes :
Autonome.
En place, pour modifier un élément dans le contexte d'un conteneur.
Ouvert, pour modifier un élément hors du contexte de son conteneur, souvent dans une fenêtre distincte.
Cela implique trois dispositions distinctes de menu, une pour chaque mode possible de l'application. Les tables des accélérateurs sont également requises pour chaque nouveau mode. Une application conteneur peut prendre ou ne pas prendre en charge l'activation sur place ; si c'est le cas, elle exige en effet une structure de menu et les tables des accélérateurs associées.
L'activation sur place nécessite que le conteneur et les applications serveur doivent négocier pour le menu, la barre d'outils, et l'espace de barre d'état. Toutes les ressources doivent être conçues à cet effet. L'article Menus et de ressources : Fusion de menus traite de cette rubrique en détail.
En raison de ces problèmes, les applications OLE de document créées avec l'Application wizard peuvent avoir jusqu'à quatre ressources distinctes de menus et de table des accélérateurs. Celles-ci sont utilisées pour les raisons suivantes :
Nom des ressources |
Utilisez |
---|---|
IDR_MAINFRAME |
Utilisé dans une application MDI si aucun fichier n'est ouvert, ou dans une application de SDI que des fichiers soient ouverts ou non. Il s'agit du menu standard utilisé dans les applications non OLE. |
IDR_<Projet>TYPE |
Utilisé dans une application MDI si les fichiers sont ouverts. Utilisé lorsqu'une application s'exécute de manière autonome. Il s'agit du menu standard utilisé dans les applications non OLE. |
IDR_<project>TYPE_SRVR_IP |
Utilisé par le serveur ou le conteneur lorsqu'un objet est ouvert dans l'emplacement. |
IDR_<project>TYPE_SRVR_EMB |
Utilisé par une application serveur si un objet est ouvert sans utiliser l'activation dans l'emplacement. |
Chacun de ces noms de ressource représente un menu et, en général, une table des accélérateurs. Un modèle semblable doit être utilisée dans des applications MFC qui ne sont pas créées avec l'Application wizard.
Les éléments suivants présentent les rubriques relatives aux conteneurs, serveurs, et à la fusion de menus nécessaire pour implémenter l'activation dans l'emplacement :