Menus et ressources (OLE)
Ce groupe d’articles explique l’utilisation des menus et des ressources dans les applications de document OLE MFC.
La modification visuelle OLE impose des exigences supplémentaires dans le menu et d’autres ressources fournies par les applications de document OLE, car il existe un certain nombre de modes dans lesquels les applications conteneur et serveur (composant) peuvent être démarrées et utilisées. Par exemple, une application serveur complète peut s’exécuter dans l’un des trois modes suivants :
Autonome.
En place, pour modifier un élément dans le contexte d’un conteneur.
Ouvrez, pour modifier un élément en dehors du contexte de son conteneur, souvent dans une fenêtre distincte.
Cela nécessite trois dispositions de menu distinctes, une pour chaque mode possible de l’application. Les tables accélérateurs sont également nécessaires pour chaque nouveau mode. Une application conteneur peut ou non prendre en charge l’activation sur place ; si c’est le cas, il a besoin d’une nouvelle structure de menu et de tables accélérateurs associées.
L’activation sur place nécessite que les applications conteneur et serveur doivent négocier pour l’espace du menu, de la barre d’outils et de la barre d’état. Toutes les ressources doivent être conçues à l’esprit. L’article Menus et ressources : Fusion de menus couvre cette rubrique en détail.
En raison de ces problèmes, les applications de document OLE créées avec l’Assistant Application peuvent avoir jusqu’à quatre menus distincts et des ressources de table accélérateur. Ces éléments sont utilisés pour les raisons suivantes :
Nom de la ressource | Utilisation |
---|---|
IDR_MAINFRAME | Utilisé dans une application MDI si aucun fichier n’est ouvert ou dans une application SDI, quel que soit le fichier ouvert. Il s’agit du menu standard utilisé dans les applications non OLE. |
<type de projet>IDR_ | Utilisé dans une application MDI si les fichiers sont ouverts. Utilisé lorsqu’une application exécute autonome. Il s’agit du menu standard utilisé dans les applications non OLE. |
<IDR_projet>TYPE_SRVR_IP | Utilisé par le serveur ou le conteneur lorsqu’un objet est ouvert en place. |
<IDR_project>TYPE_SRVR_EMo | Utilisé par une application serveur si un objet est ouvert sans utiliser l’activation sur place. |
Chacun de ces noms de ressources représente un menu et, généralement, une table d’accélérateurs. Un schéma similaire doit être utilisé dans les applications MFC qui ne sont pas créées avec l’Assistant Application.
Les articles suivants traitent des rubriques relatives aux conteneurs, aux serveurs et à la fusion de menus nécessaires pour implémenter l’activation sur place :