Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article résume la procédure d’implémentation d’un conteneur et vous pointe vers d’autres articles qui fournissent des explications plus détaillées sur l’implémentation de conteneurs. Il répertorie également certaines fonctionnalités OLE facultatives que vous pouvez implémenter et les articles décrivant ces fonctionnalités.
Pour préparer votre classe dérivée de CWinApp
Initialisez les bibliothèques OLE en appelant
AfxOleInitdans laInitInstancefonction membre.Appelez
CDocTemplate::SetContainerInfodansInitInstancepour assigner les ressources de menu et d’accélérateur utilisées lorsqu’un élément incorporé est activé en place. Pour plus d’informations sur cette rubrique, consultez Activation.
Ces fonctionnalités sont fournies automatiquement lorsque vous utilisez l’Assistant Application MFC pour créer une application conteneur. Voir Création d’un programme EXE MFC.
Pour préparer votre classe d'affichage
Effectuez le suivi des éléments sélectionnés en conservant un pointeur ou une liste de pointeurs si vous prenez en charge plusieurs sélections sur les éléments sélectionnés. Votre
OnDrawfonction doit dessiner tous les éléments OLE.Remplacez
IsSelectedpour vérifier si l'élément qui lui est passé est sélectionné.Implémentez un
OnInsertObjectgestionnaire de messages pour afficher la boîte de dialogue Insérer un objet .Implémentez un
OnSetFocusgestionnaire de messages pour transférer le focus de la vue vers un élément OLE incorporé actif sur place.Implémentez un
OnSizegestionnaire de messages pour informer un élément incorporé OLE qu’il doit modifier son rectangle pour refléter la modification de la taille de la vue qui le contient.
Étant donné que l’implémentation de ces fonctionnalités varie considérablement d’une application à l’autre, l’Assistant Application fournit uniquement une implémentation de base. Vous devrez probablement personnaliser ces fonctions pour que votre application fonctionne correctement. Pour obtenir un exemple, consultez l’exemple CONTAINER .
Pour gérer les éléments incorporés et liés
Dérivez une classe de COleClientItem. Les objets de cette classe représentent les éléments qui ont été incorporés ou liés à votre document OLE.
Remplacer
OnChange,OnChangeItemPosition, etOnGetItemPosition. Ces fonctions gèrent le dimensionnement, le positionnement et la modification des éléments incorporés et liés.
L'assistant d'application dérivera la classe pour vous, mais vous devrez probablement remplacer OnChange et les autres fonctions répertoriées à l'étape 2 de la procédure précédente. Les implémentations squelettes doivent être personnalisées pour la plupart des applications, car ces fonctions sont implémentées différemment d’une application à l’autre. Pour obtenir des exemples, consultez les exemples MFC DRAWCLI et CONTAINER.
Vous devez ajouter un certain nombre d’éléments à la structure de menu de l’application conteneur pour prendre en charge OLE. Pour plus d’informations sur ces éléments, consultez Menus et ressources : Ajouts de conteneurs.
Vous pouvez également prendre en charge certaines des fonctionnalités suivantes dans votre application conteneur :
Activation sur place lors de la modification d’un élément incorporé.
Pour plus d’informations, consultez Activation.
Création d’éléments OLE en faisant glisser et en supprimant une sélection à partir d’une application serveur.
Pour plus d’informations, voir Glisser-déposer OLE.
Liens vers des objets incorporés ou des applications conteneur/serveur combinées.
Pour plus d’informations, consultez Conteneurs : Fonctionnalités avancées.
Voir aussi
conteneurs
Conteneurs : éléments du client