Partager via


MFCBIND, exemple : conteneur de documents actifs

Mise à jour : novembre 2007

L'exemple MFCBIND montre comment créer un conteneur de documents actifs (connus précédemment sous le nom de DocObject) à l'aide des classes de prise en charge des conteneurs de documents actifs dans MFC. L'exemple MFC Binder (Classeur MFC) est une application SDI qui utilise la classe COleDocObjectItem pour représenter un document actif incorporé dans un document MFC. MFCBIND est très comparable dans son fonctionnement à l'application Classeur Office, fournie avec Microsoft Office.

Note de sécurité :

Cet exemple de code est fourni pour illustrer un concept et ne doit pas être utilisé dans des applications ou des sites Web, car il peut ne pas illustrer les pratiques de programmation les plus sûres. Microsoft n'assume aucune responsabilité pour tout dommage indirect ou consécutif en cas d'utilisation de l'exemple de code à des fins autres que celles prévues.

Pour obtenir des exemples et des instructions d'installation :

  • Dans le menu ? (Aide) de Visual Studio, cliquez sur Exemples.

    Pour plus d'informations, consultez Recherche des fichiers d'exemple.

  • La liste la plus récente et la plus complète d'exemples est disponible en ligne à partir de la page Visual Studio 2008 Samples.

  • Des exemples sont également disponibles sur le disque dur de votre ordinateur. Des exemples et un fichier Readme sont copiés par défaut dans un dossier sous \Program Files\Visual Studio 9.0\Samples\. Pour les éditions Express de Visual Studio, tous les exemples sont accessibles en ligne.

Génération et exécution de l'exemple

Pour générer et exécuter l'exemple MFCBIND

  1. Ouvrez la solution mfcbind.sln.

  2. Dans le menu Générer, cliquez sur Générer.

  3. Démarrez l'application et cliquez sur Ajouter dans le menu Section pour ajouter au classeur autant de documents que nécessaire.

    Les documents image, Word et Excel sont des exemples de documents. Lorsque vous ajoutez un document au classeur, vous pouvez le modifier directement à partir de l'application Classeur MFC, tout comme vous le feriez dans l'application native du document.

  4. Une fois que vous avez terminé de modifier les documents du classeur, enregistrez ce dernier en cliquant sur Enregistrer dans le menu Fichier. La commande Enregistrer enregistre les documents du classeur dans un même fichier. Lorsque vous rouvrez le classeur ultérieurement, les documents sont disponibles dans leur dernière version enregistrée.

Documents actifs dans MFC

Dans MFC, les documents actifs sont gérés globalement de la même façon que les incorporations modifiables sur place. La classe dérivée de COleDocument conserve encore une liste des éléments actuellement incorporés. L'objet COleClientItem, qui est remplacé par la classe COleDocObjectItem dérivée de COleClientItem, représente l'élément incorporé dans COleDocument. Ce sont ces éléments dérivés de COleDocObjectItem qui sont conservés dans une liste par la classe dérivée de COleDocument. Toutefois, les documents actifs occupent l'intégralité de la zone cliente de la vue lorsqu'ils sont actifs sur place. Un conteneur de documents actifs détient le contrôle total du menu ? (Aide), contrairement aux incorporations sur place antérieures. Le menu ? (Aide) contient des éléments à la fois pour le conteneur et le serveur de documents actifs. Étant donné que le conteneur de documents actifs est propriétaire du menu ? (Aide), il est responsable de la transmission au serveur des messages pour la partie serveur du menu ? (Aide). Les fonctionnalités de fusion et de transmission des messages du menu ? (Aide) sont intégralement gérées par l'infrastructure MFC.

Mots clés

Cet exemple illustre l'utilisation des mots clés suivants :

COleClientItem::FinishCreate, COleClientItem::GetIconFromRegistry, IOleObject::GetUserClassID, COleClientItem::OnChange, COleClientItem::OnChangeItemPosition, COleClientItem::OnGetItemPosition, COleClientItem::OnActivate, COleDocument::GetInPlaceActiveItem, COleClientItem::Deactivate, COleClientItem::CreateNewItem, COleClientItem::DoVerb, COleDocObjectItem::COleDocObjectItem, COleClientItem::CreateFromFile, COleClientItem::Activate, COleDocObjectItem::OnPreparePrintin, COleDocObjectItem::OnPrint, SystemParametersInfo, MeasureItem, DrawItem, GetSystemMetrics, SelectObject

Remarque :

Certains exemples, tels que celui-ci, n'ont pas été modifiés pour refléter les changements apportés aux Assistants, aux bibliothèques et au compilateur Visual C++, mais ils illustrent bien l'exécution de la tâche souhaitée.

Voir aussi

Autres ressources

Exemples MFC