Partager via


COleClientItem, classe

Définit l'interface du conteneur pour les éléments OLE.

Syntaxe

class COleClientItem : public CDocItem

Membres

Constructeurs publics

Nom Description
COleClientItem ::COleClientItem Construit un objet COleClientItem.

Méthodes publiques

Nom Description
COleClientItem ::Activate Ouvre l’élément OLE pour une opération, puis exécute le verbe spécifié.
COleClientItem ::ActivateAs Active l’élément comme un autre type.
COleClientItem ::AttachDataObject Accède aux données de l’objet OLE.
COleClientItem ::CanCreateFromData Indique si une application conteneur peut créer un objet incorporé.
COleClientItem ::CanCreateLinkFromData Indique si une application conteneur peut créer un objet lié.
COleClientItem ::CanPaste Indique si le Presse-papiers contient un élément OLE incorporé ou statique.
COleClientItem ::CanPasteLink Indique si le Presse-papiers contient un élément OLE pouvant être lié.
COleClientItem ::Close Ferme un lien vers un serveur, mais ne détruit pas l’élément OLE.
COleClientItem ::ConvertTo Convertit l’élément en un autre type.
COleClientItem ::CopyToClipboard Copie l’élément OLE dans le Presse-papiers.
COleClientItem ::CreateCloneFrom Crée un doublon d’un élément existant.
COleClientItem ::CreateFromClipboard Crée un élément incorporé à partir du Presse-papiers.
COleClientItem ::CreateFromData Crée un élément incorporé à partir d’un objet de données.
COleClientItem ::CreateFromFile Crée un élément incorporé à partir d’un fichier.
COleClientItem ::CreateLinkFromClipboard Crée un élément lié à partir du Presse-papiers.
COleClientItem ::CreateLinkFromData Crée un élément lié à partir d’un objet de données.
COleClientItem ::CreateLinkFromFile Crée un élément lié à partir d’un fichier.
COleClientItem ::CreateNewItem Crée un élément incorporé en lançant l’application serveur.
COleClientItem ::CreateStaticFromClipboard Crée un élément statique à partir du Presse-papiers.
COleClientItem ::CreateStaticFromData Crée un élément statique à partir d’un objet de données.
COleClientItem ::D eactivate Désactive l’élément.
COleClientItem ::D eactivateUI Restaure l’interface utilisateur de l’application conteneur à son état d’origine.
COleClientItem ::D elete Supprime ou ferme l’élément OLE s’il s’agissait d’un élément lié.
COleClientItem ::D oDragDrop Effectue une opération de glisser-déplacer.
COleClientItem ::D oVerb Exécute le verbe spécifié.
COleClientItem ::D raw Dessine l’élément OLE.
COleClientItem ::GetActiveView Obtient l’affichage sur lequel l’élément est activé en place.
COleClientItem ::GetCachedExtent Retourne les limites du rectangle de l’élément OLE.
COleClientItem ::GetClassID Obtient l’ID de classe de l’élément présent.
COleClientItem ::GetClipboardData Obtient les données qui seraient placées dans le Presse-papiers en appelant la CopyToClipboard fonction membre.
COleClientItem ::GetDocument Retourne l’objet COleDocument qui contient l’élément présent.
COleClientItem ::GetDrawAspect Obtient l’affichage actuel de l’élément pour le rendu.
COleClientItem ::GetExtent Retourne les limites du rectangle de l’élément OLE.
COleClientItem ::GetIconFromRegistry Récupère un handle dans une icône associée au serveur d’un CLSID particulier.
COleClientItem ::GetIconicMetafile Obtient le métafichier utilisé pour dessiner l’icône de l’élément.
COleClientItem ::GetInPlaceWindow Retourne un pointeur vers la fenêtre d’édition sur place de l’élément.
COleClientItem ::GetItemState Obtient l’état actuel de l’élément.
COleClientItem ::GetLastStatus Retourne l’état de la dernière opération OLE.
COleClientItem ::GetLinkUpdateOptions Retourne le mode de mise à jour d’un élément lié (fonctionnalité avancée).
COleClientItem ::GetType Retourne le type (incorporé, lié ou statique) de l’élément OLE.
COleClientItem ::GetUserType Obtient une chaîne décrivant le type de l’élément.
COleClientItem ::IsInPlaceActive Retourne TRUE si l’élément est actif sur place.
COleClientItem ::IsLinkUpToDate Retourne TRUE si un élément lié est à jour avec son document source.
COleClientItem ::IsModified Retourne TRUE si l’élément a été modifié depuis son dernier enregistrement.
COleClientItem ::IsOpen Retourne TRUE si l’élément est actuellement ouvert dans l’application serveur.
COleClientItem ::IsRunning Retourne TRUE si l’application serveur de l’élément est en cours d’exécution.
COleClientItem ::OnActivate Appelé par l’infrastructure pour avertir l’élément qu’il est activé.
COleClientItem ::OnActivateUI Appelé par l’infrastructure pour notifier l’élément qu’il est activé et doit afficher son interface utilisateur.
COleClientItem ::OnChange Appelé lorsque le serveur modifie l’élément OLE. Implémentation requise.
COleClientItem ::OnDeactivate Appelé par l’infrastructure lorsqu’un élément est désactivé.
COleClientItem ::OnDeactivateUI Appelé par l’infrastructure lorsque le serveur a supprimé son interface utilisateur sur place.
COleClientItem ::OnGetClipboardData Appelé par l’infrastructure pour obtenir les données à copier dans le Presse-papiers.
COleClientItem ::OnInsertMenus Appelé par l’infrastructure pour créer un menu composite.
COleClientItem ::OnRemoveMenus Appelé par l’infrastructure pour supprimer les menus du conteneur d’un menu composite.
COleClientItem ::OnSetMenu Appelé par l’infrastructure pour installer et supprimer un menu composite.
COleClientItem ::OnShowControlBars Appelé par l’infrastructure pour afficher et masquer les barres de contrôle.
COleClientItem ::OnUpdateFrameTitle Appelé par l’infrastructure pour mettre à jour la barre de titre de la fenêtre frame.
COleClientItem ::ReactivateAndUndo Réactive l’élément et annule la dernière opération de modification sur place.
COleClientItem ::Release Libère la connexion à un élément lié OLE et la ferme si elle a été ouverte. Ne détruit pas l’élément client.
COleClientItem ::Reload Recharge l’élément après un appel à ActivateAs.
COleClientItem ::Run Exécute l’application associée à l’élément.
COleClientItem ::SetDrawAspect Définit l’affichage actuel de l’élément pour le rendu.
COleClientItem ::SetExtent Définit le rectangle englobant de l’élément OLE.
COleClientItem ::SetHostNames Définit les noms affichés par le serveur lors de la modification de l’élément OLE.
COleClientItem ::SetIconicMetafile Met en cache le métafichier utilisé pour dessiner l’icône de l’élément.
COleClientItem ::SetItemRects Définit le rectangle englobant de l’élément.
COleClientItem ::SetLinkUpdateOptions Définit le mode de mise à jour d’un élément lié (fonctionnalité avancée).
COleClientItem ::SetPrintDevice Définit l’appareil cible d’impression pour cet élément client.
COleClientItem ::UpdateLink Met à jour le cache de présentation d’un élément.

Méthodes protégées

Nom Description
COleClientItem ::CanActivate Appelé par l’infrastructure pour déterminer si l’activation sur place est autorisée.
COleClientItem ::OnChangeItemPosition Appelé par l’infrastructure lorsque la position d’un élément change.
COleClientItem ::OnDeactivateAndUndo Appelé par l’infrastructure pour annuler après l’activation.
COleClientItem ::OnDiscardUndoState Appelé par l’infrastructure pour ignorer les informations d’état d’annulation de l’élément.
COleClientItem ::OnGetClipRect Appelé par l’infrastructure pour obtenir les coordonnées du rectangle de découpage de l’élément.
COleClientItem ::OnGetItemPosition Appelé par l’infrastructure pour obtenir la position de l’élément par rapport à la vue.
COleClientItem ::OnGetWindowContext Appelé par l’infrastructure lorsqu’un élément est activé en place.
COleClientItem ::OnScrollBy Appelé par l’infrastructure pour faire défiler l’élément en mode affichage.
COleClientItem ::OnShowItem Appelé par l’infrastructure pour afficher l’élément OLE.

Notes

Un élément OLE représente les données, créées et gérées par une application serveur, qui peut être incorporée de manière transparente dans un document afin qu’il apparaisse à l’utilisateur comme un document unique. Le résultat est un « document composé » composé de l’élément OLE et d’un document contenant.

Un élément OLE peut être incorporé ou lié. S’il est incorporé, ses données sont stockées dans le cadre du document composé. S’il est lié, ses données sont stockées dans le cadre d’un fichier distinct créé par l’application serveur, et seul un lien vers ce fichier est stocké dans le document composé. Tous les éléments OLE contiennent des informations spécifiant l’application serveur qui doit être appelée pour les modifier.

COleClientItem définit plusieurs fonctions substituables appelées en réponse aux demandes de l’application serveur ; ces substituables agissent généralement en tant que notifications. Cela permet à l’application serveur d’informer le conteneur des modifications apportées par l’utilisateur lors de la modification de l’élément OLE ou de récupérer des informations nécessaires lors de la modification.

COleClientItem peut être utilisé avec la classe COleDocument, COleLinkingDoc ou COleServerDoc . Pour utiliser COleClientItem, dérivez une classe de celui-ci et implémentez la fonction membre OnChange , qui définit la façon dont le conteneur répond aux modifications apportées à l’élément. Pour prendre en charge l’activation sur place, remplacez la fonction membre OnGetItemPosition . Cette fonction fournit des informations sur la position affichée de l’élément OLE.

Pour plus d’informations sur l’utilisation de l’interface conteneur, consultez les articles Conteneurs : Implémentation d’un conteneur et d’une activation.

Remarque

Le Kit de développement logiciel (SDK) Windows fait référence à des éléments incorporés et liés comme « objets » et fait référence aux types d’éléments en tant que « classes ». Cette référence utilise le terme « item » pour distinguer l’entité OLE de l’objet C++ correspondant et le terme « type » pour distinguer la catégorie OLE de la classe C++.

Hiérarchie d'héritage

CObject

CCmdTarget

CDocItem

COleClientItem

Spécifications

En-tête : afxole.h

COleClientItem ::Activate

Appelez cette fonction pour exécuter le verbe spécifié au lieu de DoVerb afin que vous puissiez effectuer votre propre traitement lorsqu’une exception est levée.

void Activate(
    LONG nVerb,
    CView* pView,
    LPMSG lpMsg = NULL);

Paramètres

nVerb
Spécifie le verbe à exécuter. Les valeurs possibles sont les suivantes :

Valeur Signification Symbole
- 0 Primary (verbe) OLEIVERB_PRIMARY
- 1 Verbe secondaire (aucune)
- 1 Afficher l’élément pour la modification OLEIVERB_SHOW
- 2 Modifier l’élément dans une fenêtre distincte OLEIVERB_OPEN
- 3 Masquer l’élément OLEIVERB_HIDE

La valeur -1 est généralement un alias pour un autre verbe. Si l’édition ouverte n’est pas prise en charge, -2 a le même effet que -1. Pour obtenir des valeurs supplémentaires, consultez IOleObject ::D oVerb dans le Kit de développement logiciel (SDK) Windows.

pView
Pointeur vers la fenêtre d’affichage conteneur qui contient l’élément OLE ; cette option est utilisée par l’application serveur pour l’activation sur place. Ce paramètre doit être NULL si le conteneur ne prend pas en charge l’activation sur place.

lpMsg
Pointeur vers le message qui a provoqué l’activation de l’élément.

Notes

Si l’application serveur a été écrite à l’aide de la bibliothèque de classes Microsoft Foundation, cette fonction entraîne l’exécution de la fonction membre OnDoVerb de l’objet correspondant COleServerItem .

Si le verbe principal est Edit et zéro est spécifié dans le paramètre nVerb , l’application serveur est lancée pour autoriser la modification de l’élément OLE. Si l’application conteneur prend en charge l’activation sur place, la modification peut être effectuée en place. Si le conteneur ne prend pas en charge l’activation sur place (ou si le verbe Open est spécifié), le serveur est lancé dans une fenêtre distincte et la modification peut être effectuée ici. En règle générale, lorsque l’utilisateur de l’application conteneur double-clique sur l’élément OLE, la valeur du verbe principal dans le paramètre nVerb détermine l’action que l’utilisateur peut entreprendre. Toutefois, si le serveur ne prend en charge qu’une seule action, elle prend cette action, quelle que soit la valeur spécifiée dans le paramètre nVerb .

Pour plus d’informations, consultez IOleObject ::D oVerb dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::ActivateAs

Utilise les installations de conversion d’objets d’OLE pour activer l’élément comme s’il s’agissait d’un élément du type spécifié par clsidNew.

virtual BOOL ActivateAs(
    LPCTSTR lpszUserType,
    REFCLSID clsidOld,
    REFCLSID clsidNew);

Paramètres

lpszUserType
Pointeur vers une chaîne représentant le type d’utilisateur cible, tel que « Document Word ».

clsidOld
Référence à l’ID de classe actuel de l’élément. L’ID de classe doit représenter le type de l’objet réel, tel qu’il est stocké, sauf s’il s’agit d’un lien. Dans ce cas, il doit s’agir du CLSID de l’élément auquel le lien fait référence. COleConvertDialog fournit automatiquement l’ID de classe approprié pour l’élément.

clsidNew
Référence à l’ID de classe cible.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Cela est appelé automatiquement par COleConvertDialog ::D oConvert. Il n’est généralement pas appelé directement.

COleClientItem ::AttachDataObject

Appelez cette fonction pour initialiser un COleDataObject pour accéder aux données dans l’élément OLE.

void AttachDataObject(COleDataObject& rDataObject) const;

Paramètres

rDataObject
Référence à un COleDataObject objet qui sera initialisé pour autoriser l’accès aux données dans l’élément OLE.

COleClientItem ::CanActivate

Appelé par l’infrastructure lorsque l’utilisateur demande l’activation sur place de l’élément OLE ; La valeur de retour de cette fonction détermine si l’activation sur place est autorisée.

virtual BOOL CanActivate();

Valeur de retour

Non différent de zéro si l’activation sur place est autorisée ; sinon 0.

Notes

L’implémentation par défaut autorise l’activation sur place si le conteneur a une fenêtre valide. Remplacez cette fonction pour implémenter une logique spéciale pour accepter ou refuser la demande d’activation. Par exemple, une demande d’activation peut être refusée si l’élément OLE est trop petit ou non visible actuellement.

Pour plus d’informations, consultez IOleInPlaceSite ::CanInPlaceActivate dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::CanCreateFromData

Vérifie si une application conteneur peut créer un objet incorporé à partir de l’objet donné COleDataObject .

static BOOL PASCAL CanCreateFromData(const COleDataObject* pDataObject);

Paramètres

pDataObject
Pointeur vers l’objet COleDataObject à partir duquel l’élément OLE doit être créé.

Valeur de retour

Différent de zéro si le conteneur peut créer un objet incorporé à partir de l’objet COleDataObject ; sinon, 0.

Notes

La COleDataObject classe est utilisée dans les transferts de données pour récupérer des données dans différents formats à partir du Presse-papiers, par glisser-déplacer ou à partir d’un élément OLE incorporé.

Les conteneurs peuvent utiliser cette fonction pour décider d’activer ou de désactiver leurs commandes Edit Paste et Edit Paste Special.

Pour plus d’informations, consultez l’article Objets de données et sources de données (OLE) .

COleClientItem ::CanCreateLinkFromData

Vérifie si une application conteneur peut créer un objet lié à partir de l’objet donné COleDataObject .

static BOOL PASCAL CanCreateLinkFromData(const COleDataObject* pDataObject);

Paramètres

pDataObject
Pointeur vers l’objet COleDataObject à partir duquel l’élément OLE doit être créé.

Valeur de retour

Différent de zéro si le conteneur peut créer un objet lié à partir de l’objet COleDataObject .

Notes

La COleDataObject classe est utilisée dans les transferts de données pour récupérer des données dans différents formats à partir du Presse-papiers, par glisser-déplacer ou à partir d’un élément OLE incorporé.

Les conteneurs peuvent utiliser cette fonction pour décider d’activer ou de désactiver leurs commandes Modifier le collage spécial et Modifier le lien coller.

Pour plus d’informations, consultez l’article Objets de données et sources de données (OLE) .

COleClientItem ::CanPaste

Appelez cette fonction pour voir si un élément OLE incorporé peut être collé à partir du Presse-papiers.

static BOOL PASCAL CanPaste();

Valeur de retour

Différent de zéro si un élément OLE incorporé peut être collé à partir du Presse-papiers ; sinon 0.

Notes

Pour plus d’informations, consultez OleGetClipboard et OleQueryCreateFromData dans le Kit de développement logiciel (SDK) Windows.

Appelez cette fonction pour voir si un élément OLE lié peut être collé à partir du Presse-papiers.

static BOOL PASCAL CanPasteLink();

Valeur de retour

Différent de zéro si un élément OLE lié peut être collé à partir du Presse-papiers ; sinon 0.

Notes

Pour plus d’informations, consultez OleGetClipboard et OleQueryLinkFromData dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::Close

Appelez cette fonction pour modifier l’état d’un élément OLE de l’état en cours d’exécution vers l’état chargé, c’est-à-dire chargé avec son gestionnaire en mémoire, mais avec le serveur qui n’est pas en cours d’exécution.

void Close(OLECLOSE dwCloseOption = OLECLOSE_SAVEIFDIRTY);

Paramètres

dwCloseOption
Indicateur spécifiant dans quelles circonstances l’élément OLE est enregistré lorsqu’il retourne à l’état chargé. Il peut avoir l’une des valeurs suivantes :

  • OLECLOSE_SAVEIFDIRTY Enregistrer l’élément OLE.

  • OLECLOSE_NOSAVE N’enregistrez pas l’élément OLE.

  • OLECLOSE_PROMPTSAVE inviter l’utilisateur à enregistrer l’élément OLE.

Notes

Cette fonction n’a aucun effet lorsque l’élément OLE n’est pas en cours d’exécution.

Pour plus d’informations, consultez IOleObject ::Close dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::COleClientItem

Construit un COleClientItem objet et l’ajoute à la collection de documents conteneur d’éléments de document, qui construit uniquement l’objet C++ et n’effectue aucune initialisation OLE.

COleClientItem(COleDocument* pContainerDoc = NULL);

Paramètres

pContainerDoc
Pointeur vers le document conteneur qui contiendra cet élément. Il peut s’agir de n’importe quel dérivé COleDocument .

Notes

Si vous passez un pointeur NULL, aucun ajout n’est effectué dans le document conteneur. Vous devez appeler explicitement COleDocument ::AddItem.

Vous devez appeler l’une des fonctions membres de création suivantes avant d’utiliser l’élément OLE :

COleClientItem ::ConvertTo

Appelez cette fonction membre pour convertir l’élément en type spécifié par clsidNew.

virtual BOOL ConvertTo(REFCLSID clsidNew);

Paramètres

clsidNew
ID de classe du type cible.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Cela est appelé automatiquement par COleConvertDialog. Il n’est pas nécessaire de l’appeler directement.

COleClientItem ::CopyToClipboard

Appelez cette fonction pour copier l’élément OLE dans le Presse-papiers.

void CopyToClipboard(BOOL bIncludeLink = FALSE);

Paramètres

bIncludeLink
TRUE si les informations de lien doivent être copiées dans le Presse-papiers, ce qui permet à un élément lié d’être collé ; sinon FALSE.

Notes

En règle générale, vous appelez cette fonction lors de l’écriture de gestionnaires de messages pour les commandes Copier ou Couper à partir du menu Modifier. Vous devez implémenter la sélection d’éléments dans votre application conteneur si vous souhaitez implémenter les commandes Copier ou Couper.

Pour plus d’informations, consultez OleSetClipboard dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::CreateCloneFrom

Appelez cette fonction pour créer une copie de l’élément OLE spécifié.

BOOL CreateCloneFrom(const COleClientItem* pSrcItem);

Paramètres

pSrcItem
Pointeur vers l’élément OLE à dupliquer.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

La copie est identique à l’élément source. Vous pouvez utiliser cette fonction pour prendre en charge les opérations d’annulation.

COleClientItem ::CreateFromClipboard

Appelez cette fonction pour créer un élément incorporé à partir du contenu du Presse-papiers.

BOOL CreateFromClipboard(
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Paramètres

render
Indicateur spécifiant la façon dont le serveur affiche l’élément OLE. Pour connaître les valeurs possibles, consultez OLERENDER dans le Kit de développement logiciel (SDK) Windows.

cfFormat
Spécifie le format de données du Presse-papiers à mettre en cache lors de la création de l’élément OLE.

lpFormatEtc
Pointeur vers une structure FORMATETC utilisée si le rendu est OLERENDER_FORMAT ou OLERENDER_DRAW. Fournissez une valeur pour ce paramètre uniquement si vous souhaitez spécifier des informations de format supplémentaires au-delà du format Presse-papiers spécifié par cfFormat. Si vous omettez ce paramètre, les valeurs par défaut sont utilisées pour les autres champs de la FORMATETC structure.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Vous appelez généralement cette fonction à partir du gestionnaire de messages pour la commande Coller dans le menu Modifier. (La commande Coller est activée par l’infrastructure si le La fonction membre CanPaste retourne une valeur différente de zéro.)

Pour plus d’informations, consultez OLERENDER et FORMATETC dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::CreateFromData

Appelez cette fonction pour créer un élément incorporé à partir d’un COleDataObject objet.

BOOL CreateFromData(
    COleDataObject* pDataObject,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Paramètres

pDataObject
Pointeur vers l’objet COleDataObject à partir duquel l’élément OLE doit être créé.

render
Indicateur spécifiant la façon dont le serveur affiche l’élément OLE. Pour connaître les valeurs possibles, consultez OLERENDER dans le Kit de développement logiciel (SDK) Windows.

cfFormat
Spécifie le format de données du Presse-papiers à mettre en cache lors de la création de l’élément OLE.

lpFormatEtc
Pointeur vers une structure FORMATETC utilisée si le rendu est OLERENDER_FORMAT ou OLERENDER_DRAW. Fournissez une valeur pour ce paramètre uniquement si vous souhaitez spécifier des informations de format supplémentaires au-delà du format Presse-papiers spécifié par cfFormat. Si vous omettez ce paramètre, les valeurs par défaut sont utilisées pour les autres champs de la FORMATETC structure.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Les opérations de transfert de données, telles que le collage à partir du Presse-papiers ou les opérations de glisser-déplacer, fournissent des COleDataObject objets contenant les informations offertes par une application serveur. Il est généralement utilisé dans votre remplacement de CView ::OnDrop.

Pour plus d’informations, consultez OleCreateFromData, OLERENDER et FORMATETC dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::CreateFromFile

Appelez cette fonction pour créer un élément OLE incorporé à partir d’un fichier.

BOOL CreateFromFile(
    LPCTSTR lpszFileName,
    REFCLSID clsid = CLSID_NULL,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Paramètres

lpszFileName
Pointeur vers le nom du fichier à partir duquel l’élément OLE doit être créé.

clsid
Réservé pour un usage futur.

render
Indicateur spécifiant la façon dont le serveur affiche l’élément OLE. Pour connaître les valeurs possibles, consultez OLERENDER dans le Kit de développement logiciel (SDK) Windows.

cfFormat
Spécifie le format de données du Presse-papiers à mettre en cache lors de la création de l’élément OLE.

lpFormatEtc
Pointeur vers une structure FORMATETC utilisée si le rendu est OLERENDER_FORMAT ou OLERENDER_DRAW. Fournissez une valeur pour ce paramètre uniquement si vous souhaitez spécifier des informations de format supplémentaires au-delà du format Presse-papiers spécifié par cfFormat. Si vous omettez ce paramètre, les valeurs par défaut sont utilisées pour les autres champs de la FORMATETC structure.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

L’infrastructure appelle cette fonction à partir de COleInsertDialog ::CreateItem si l’utilisateur choisit OK dans la boîte de dialogue Insérer un objet lorsque le bouton Créer à partir du fichier est sélectionné.

Pour plus d’informations, consultez OleCreateFromFile, OLERENDER et FORMATETC dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::CreateLinkFromClipboard

Appelez cette fonction pour créer un élément lié à partir du contenu du Presse-papiers.

BOOL CreateLinkFromClipboard(
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Paramètres

render
Indicateur spécifiant la façon dont le serveur affiche l’élément OLE. Pour connaître les valeurs possibles, consultez OLERENDER dans le Kit de développement logiciel (SDK) Windows.

cfFormat
Spécifie le format de données du Presse-papiers à mettre en cache lors de la création de l’élément OLE.

lpFormatEtc
Pointeur vers une structure FORMATETC utilisée si le rendu est OLERENDER_FORMAT ou OLERENDER_DRAW. Fournissez une valeur pour ce paramètre uniquement si vous souhaitez spécifier des informations de format supplémentaires au-delà du format Presse-papiers spécifié par cfFormat. Si vous omettez ce paramètre, les valeurs par défaut sont utilisées pour les autres champs de la FORMATETC structure.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Vous appelez généralement cette fonction à partir du gestionnaire de messages pour la commande Coller le lien dans le menu Modifier. (La commande Coller le lien est activée dans l’implémentation par défaut de COleDocument si le Presse-papiers contient un élément OLE pouvant être lié.)

Pour plus d’informations, consultez OLERENDER et FORMATETC dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::CreateLinkFromData

Appelez cette fonction pour créer un élément lié à partir d’un COleDataObject objet.

BOOL CreateLinkFromData(
    COleDataObject* pDataObject,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Paramètres

pDataObject
Pointeur vers l’objet COleDataObject à partir duquel l’élément OLE doit être créé.

render
Indicateur spécifiant la façon dont le serveur affiche l’élément OLE. Pour connaître les valeurs possibles, consultez OLERENDER dans le Kit de développement logiciel (SDK) Windows.

cfFormat
Spécifie le format de données du Presse-papiers à mettre en cache lors de la création de l’élément OLE.

lpFormatEtc
Pointeur vers une structure FORMATETC utilisée si le rendu est OLERENDER_FORMAT ou OLERENDER_DRAW. Fournissez une valeur pour ce paramètre uniquement si vous souhaitez spécifier des informations de format supplémentaires au-delà du format Presse-papiers spécifié par cfFormat. Si vous omettez ce paramètre, les valeurs par défaut sont utilisées pour les autres champs de la FORMATETC structure.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Appelez-le lors d’une opération de suppression lorsque l’utilisateur indique qu’un lien doit être créé. Il peut également être utilisé pour gérer la commande Modifier le collage. Elle est appelée par l’infrastructure dans COleClientItem::CreateLinkFromClipboard et dans COlePasteSpecialDialog ::CreateItem lorsque l’option Link a été sélectionnée.

Pour plus d’informations, consultez OleCreateLinkFromData, OLERENDER et FORMATETC dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::CreateLinkFromFile

Appelez cette fonction pour créer un élément OLE lié à partir d’un fichier.

BOOL CreateLinkFromFile(
    LPCTSTR lpszFileName,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Paramètres

lpszFileName
Pointeur vers le nom du fichier à partir duquel l’élément OLE doit être créé.

render
Indicateur spécifiant la façon dont le serveur affiche l’élément OLE. Pour connaître les valeurs possibles, consultez OLERENDER dans le Kit de développement logiciel (SDK) Windows.

cfFormat
Spécifie le format de données du Presse-papiers à mettre en cache lors de la création de l’élément OLE.

lpFormatEtc
Pointeur vers une structure FORMATETC utilisée si le rendu est OLERENDER_FORMAT ou OLERENDER_DRAW. Fournissez une valeur pour ce paramètre uniquement si vous souhaitez spécifier des informations de format supplémentaires au-delà du format Presse-papiers spécifié par cfFormat. Si vous omettez ce paramètre, les valeurs par défaut sont utilisées pour les autres champs de la FORMATETC structure.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

L’infrastructure appelle cette fonction si l’utilisateur choisit OK dans la boîte de dialogue Insérer un objet lorsque le bouton Créer à partir d’un fichier est sélectionné et que la case à cocher Lien est cochée. Elle est appelée à partir de COleInsertDialog ::CreateItem.

Pour plus d’informations, consultez OleCreateLinkToFile, OLERENDER et FORMATETC dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::CreateNewItem

Appelez cette fonction pour créer un élément incorporé ; cette fonction lance l’application serveur qui permet à l’utilisateur de créer l’élément OLE.

BOOL CreateNewItem(
    REFCLSID clsid,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Paramètres

clsid
ID qui identifie de manière unique le type d’élément OLE à créer.

render
Indicateur spécifiant la façon dont le serveur affiche l’élément OLE. Pour connaître les valeurs possibles, consultez OLERENDER dans le Kit de développement logiciel (SDK) Windows.

cfFormat
Spécifie le format de données du Presse-papiers à mettre en cache lors de la création de l’élément OLE.

lpFormatEtc
Pointeur vers une structure FORMATETC utilisée si le rendu est OLERENDER_FORMAT ou OLERENDER_DRAW. Fournissez une valeur pour ce paramètre uniquement si vous souhaitez spécifier des informations de format supplémentaires au-delà du format Presse-papiers spécifié par cfFormat. Si vous omettez ce paramètre, les valeurs par défaut sont utilisées pour les autres champs de la FORMATETC structure.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

L’infrastructure appelle cette fonction si l’utilisateur choisit OK dans la boîte de dialogue Insérer un objet lorsque le bouton Créer un nouvel objet est sélectionné.

Pour plus d’informations, consultez OleCreate, OLERENDER et FORMATETC dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::CreateStaticFromClipboard

Appelez cette fonction pour créer un élément statique à partir du contenu du Presse-papiers.

BOOL CreateStaticFromClipboard(
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Paramètres

render
Indicateur spécifiant la façon dont le serveur affiche l’élément OLE. Pour connaître les valeurs possibles, consultez OLERENDER dans le Kit de développement logiciel (SDK) Windows.

cfFormat
Spécifie le format de données du Presse-papiers à mettre en cache lors de la création de l’élément OLE.

lpFormatEtc
Pointeur vers une structure FORMATETC utilisée si le rendu est OLERENDER_FORMAT ou OLERENDER_DRAW. Fournissez une valeur pour ce paramètre uniquement si vous souhaitez spécifier des informations de format supplémentaires au-delà du format Presse-papiers spécifié par cfFormat. Si vous omettez ce paramètre, les valeurs par défaut sont utilisées pour les autres champs de la FORMATETC structure.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Un élément statique contient les données de présentation, mais pas les données natives ; par conséquent, elle ne peut pas être modifiée. Vous appelez généralement cette fonction si la fonction membre CreateFromClipboard échoue.

Pour plus d’informations, consultez OLERENDER et FORMATETC dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::CreateStaticFromData

Appelez cette fonction pour créer un élément statique à partir d’un COleDataObject objet.

BOOL CreateStaticFromData(
    COleDataObject* pDataObject,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Paramètres

pDataObject
Pointeur vers l’objet COleDataObject à partir duquel l’élément OLE doit être créé.

render
Indicateur spécifiant la façon dont le serveur affiche l’élément OLE. Pour connaître les valeurs possibles, consultez OLERENDER dans le Kit de développement logiciel (SDK) Windows.

cfFormat
Spécifie le format de données du Presse-papiers à mettre en cache lors de la création de l’élément OLE.

lpFormatEtc
Pointeur vers une structure FORMATETC utilisée si le rendu est OLERENDER_FORMAT ou OLERENDER_DRAW. Fournissez une valeur pour ce paramètre uniquement si vous souhaitez spécifier des informations de format supplémentaires au-delà du format Presse-papiers spécifié par cfFormat. Si vous omettez ce paramètre, les valeurs par défaut sont utilisées pour les autres champs de la FORMATETC structure.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Un élément statique contient les données de présentation, mais pas les données natives ; par conséquent, elle ne peut pas être modifiée. Cela est essentiellement le même que CreateStaticFromClipboard , sauf qu’un élément statique peut être créé à partir d’un élément arbitraire COleDataObject, pas seulement à partir du Presse-papiers.

Utilisé dans COlePasteSpecialDialog ::CreateItem lorsque Static est sélectionné.

Pour plus d’informations, consultez OleCreateStaticFromData, OLERENDER et FORMATETC dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::D eactivate

Appelez cette fonction pour désactiver l’élément OLE et libérer toutes les ressources associées.

void Deactivate();

Notes

Vous désactivez généralement un élément OLE actif sur place lorsque l’utilisateur clique sur la souris sur la zone cliente en dehors des limites de l’élément. Notez que la désactivation de l’élément OLE ignore son état d’annulation, ce qui rend impossible l’appel de la fonction membre ReactivateAndUndo .

Si votre application prend en charge l’annulation, n’appelez pas ; à la place, appelez DeactivateDeactivateUI.

Pour plus d’informations, consultez IOleInPlaceObject ::InPlaceDeactivate dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::D eactivateUI

Appelez cette fonction lorsque l’utilisateur désactive un élément activé en place.

void DeactivateUI();

Notes

Cette fonction restaure l’interface utilisateur de l’application conteneur à son état d’origine, en masquant les menus et autres contrôles créés pour l’activation sur place.

Cette fonction ne vide pas les informations d’état d’annulation de l’élément. Ces informations sont conservées afin que ReactivateAndUndo puisse être utilisé ultérieurement pour exécuter une commande d’annulation dans l’application serveur, si la commande d’annulation du conteneur est choisie immédiatement après la désactivation de l’élément.

Pour plus d’informations, consultez IOleInPlaceObject ::InPlaceDeactivate dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::D elete

Appelez cette fonction pour supprimer l’élément OLE du document conteneur.

void Delete(BOOL bAutoDelete = TRUE);

Paramètres

bAutoDelete
Spécifie si l’élément doit être supprimé du document.

Notes

Cette fonction appelle la fonction membre Release , qui supprime à son tour l’objet C++ de l’élément, en supprimant définitivement l’élément OLE du document. Si l’élément OLE est incorporé, les données natives de l’élément sont supprimées. Il ferme toujours un serveur en cours d’exécution ; par conséquent, si l’élément est un lien ouvert, cette fonction la ferme.

COleClientItem ::D oDragDrop

Appelez la DoDragDrop fonction membre pour effectuer une opération de glisser-déplacer.

DROPEFFECT DoDragDrop(
    LPCRECT lpItemRect,
    CPoint ptOffset,
    BOOL bIncludeLink = FALSE,
    DWORD dwEffects = DROPEFFECT_COPY | DROPEFFECT_MOVE,
    LPCRECT lpRectStartDrag = NULL);

Paramètres

lpItemRect
Rectangle de l’élément à l’écran dans les coordonnées du client (pixels).

ptOffset
Décalage de lpItemRect où la position de la souris était au moment du glissement.

bIncludeLink
Définissez cette valeur sur TRUE si les données de liaison doivent être copiées dans le Presse-papiers. Définissez-le sur FALSE si votre application serveur ne prend pas en charge les liens.

dwEffects
Détermine les effets que la source glisser autorise dans l’opération de glissement.

lpRectStartDrag
Pointeur vers le rectangle qui définit l’emplacement où le glisser démarre réellement. Pour plus d'informations, consultez la section Notes qui suit.

Valeur de retour

Valeur DROPEFFECT. S’il s’agit de DROPEFFECT_MOVE, les données d’origine doivent être supprimées.

Notes

L’opération glisser-déplacer ne démarre pas immédiatement. Il attend que le curseur de la souris quitte le rectangle spécifié par lpRectStartDrag ou jusqu’à ce qu’un nombre spécifié de millisecondes soit passé. Si lpRectStartDrag a la valeur NULL, la taille du rectangle est d’un pixel.

Le délai est spécifié par un paramètre de clé de Registre. Vous pouvez modifier le délai en appelant CWinApp ::WriteProfileString ou CWinApp ::WriteProfileInt. Si vous ne spécifiez pas le délai, une valeur par défaut de 200 millisecondes est utilisée. Le délai de glissement est stocké comme suit :

  • Le délai de glissement Windows NT est stocké dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\NT\CurrentVersion\IniFileMapping\win.ini\Windows\DragDelay.

  • Le délai de glissement Windows 3.x est stocké dans win. Fichier INI, sous la section [Windows}.

  • Le délai de glissement windows 95/98 est stocké dans une version mise en cache de WIN. INI.

Pour plus d’informations sur la façon dont les informations de retard de glissement sont stockées dans le Registre ou dans le . Fichier INI, consultez WriteProfileString dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::D oVerb

Appel DoVerb pour exécuter le verbe spécifié.

virtual BOOL DoVerb(
    LONG nVerb,
    CView* pView,
    LPMSG lpMsg = NULL);

Paramètres

nVerb
Spécifie le verbe à exécuter. Il peut inclure l’une des options suivantes :

Valeur Signification Symbole
- 0 Primary (verbe) OLEIVERB_PRIMARY
- 1 Verbe secondaire (aucune)
- 1 Afficher l’élément pour la modification OLEIVERB_SHOW
- 2 Modifier l’élément dans une fenêtre distincte OLEIVERB_OPEN
- 3 Masquer l’élément OLEIVERB_HIDE

La valeur -1 est généralement un alias pour un autre verbe. Si l’édition ouverte n’est pas prise en charge, -2 a le même effet que -1. Pour obtenir des valeurs supplémentaires, consultez IOleObject ::D oVerb dans le Kit de développement logiciel (SDK) Windows.

pView
Pointeur vers la fenêtre d’affichage ; il est utilisé par le serveur pour l’activation sur place. Ce paramètre doit être NULL si l’application conteneur n’autorise pas l’activation sur place.

lpMsg
Pointeur vers le message qui a provoqué l’activation de l’élément.

Valeur de retour

Différent de zéro si le verbe a été exécuté avec succès ; sinon 0.

Notes

Cette fonction appelle la fonction Activer le membre pour exécuter le verbe. Il intercepte également les exceptions et affiche une boîte de message à l’utilisateur si une exception est levée.

Si le verbe principal est Edit et zéro est spécifié dans le paramètre nVerb , l’application serveur est lancée pour autoriser la modification de l’élément OLE. Si l’application conteneur prend en charge l’activation sur place, la modification peut être effectuée en place. Si le conteneur ne prend pas en charge l’activation sur place (ou si le verbe Open est spécifié), le serveur est lancé dans une fenêtre distincte et la modification peut être effectuée ici. En règle générale, lorsque l’utilisateur de l’application conteneur double-clique sur l’élément OLE, la valeur du verbe principal dans le paramètre nVerb détermine l’action que l’utilisateur peut entreprendre. Toutefois, si le serveur ne prend en charge qu’une seule action, elle prend cette action, quelle que soit la valeur spécifiée dans le paramètre nVerb .

COleClientItem ::D raw

Appelez cette fonction pour dessiner l’élément OLE dans le rectangle englobant spécifié à l’aide du contexte d’appareil spécifié.

BOOL Draw(
    CDC* pDC,
    LPCRECT lpBounds,
    DVASPECT nDrawAspect = (DVASPECT)-1);

Paramètres

pDC
Pointeur vers un objet CDC utilisé pour dessiner l’élément OLE.

lpBounds
Pointeur vers un objet ou RECT une structure CRect qui définit le rectangle englobant dans lequel dessiner l’élément OLE (dans les unités logiques déterminées par le contexte de l’appareil).

nDrawAspect
Spécifie l’aspect de l’élément OLE, c’est-à-dire la façon dont il doit être affiché. Si nDrawAspect a la valeur -1, le dernier aspect défini à l’aide de SetDrawAspect est utilisé. Pour plus d’informations sur les valeurs possibles pour cet indicateur, consultez SetDrawAspect.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

La fonction peut utiliser la représentation de métafichier de l’élément OLE créé par la fonction membre OnDraw de COleServerItem.

En règle générale, vous utilisez Draw pour l’affichage de l’écran, en passant le contexte de l’appareil d’écran en tant que contrôleur de domaine principal. Dans ce cas, vous devez spécifier uniquement les deux premiers paramètres.

Le paramètre lpBounds identifie le rectangle dans le contexte de l’appareil cible (par rapport à son mode de mappage actuel). Le rendu peut impliquer la mise à l’échelle de l’image et peut être utilisé par les applications conteneur pour imposer une vue qui se met à l’échelle entre l’affichage affiché et l’image imprimée finale.

Pour plus d’informations, consultez IViewObject ::D raw dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::GetActiveView

Retourne l’affichage sur lequel l’élément est activé sur place.

CView* GetActiveView() const;

Valeur de retour

Pointeur vers la vue ; sinon NULL si l’élément n’est pas activé sur place.

COleClientItem ::GetCachedExtent

Appelez cette fonction pour récupérer la taille de l’élément OLE.

BOOL GetCachedExtent(
    LPSIZE lpSize,
    DVASPECT nDrawAspect = (DVASPECT)-1);

Paramètres

lpSize
Pointeur vers une SIZE structure ou un objet CSize qui recevra les informations de taille.

nDrawAspect
Spécifie l’aspect de l’élément OLE dont les limites doivent être récupérées. Pour connaître les valeurs possibles, consultez SetDrawAspect.

Valeur de retour

Différent de zéro s’il réussit ; 0 si l’élément OLE est vide.

Notes

Cette fonction fournit les mêmes informations que GetExtent. Toutefois, vous pouvez appeler GetCachedExtent pour obtenir des informations d’étendue pendant le traitement d’autres gestionnaires OLE, tels que OnChange. Les dimensions sont en unités MM_HIMETRIC.

Cela est possible, car GetCachedExtent utilise l’interface IViewObject2 plutôt que l’interface IOleObject pour obtenir l’étendue de cet élément. L’objet IViewObject2 COM met en cache les informations d’extension utilisées dans l’appel précédent à IViewObject ::D raw.

Pour plus d’informations, consultez IViewObject2 ::GetExtent dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::GetClassID

Retourne l’ID de classe de l’élément dans la mémoire vers laquelle pointe pClassID.

void GetClassID(CLSID* pClassID) const;

Paramètres

pClassID
Pointeur vers un identificateur de type CLSID pour récupérer l’ID de classe. Pour plus d’informations sur CLSID, consultez le Kit de développement logiciel (SDK) Windows.

Notes

L’ID de classe est un numéro 128 bits qui identifie de façon unique l’application qui modifie l’élément.

Pour plus d’informations, consultez IPersist ::GetClassID dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::GetClipboardData

Appelez cette fonction pour obtenir un COleDataSource objet contenant toutes les données qui seraient placées dans le Presse-papiers par un appel à la fonction membre CopyToClipboard .

void GetClipboardData(
    COleDataSource* pDataSource,
    BOOL bIncludeLink = FALSE,
    LPPOINT lpOffset = NULL,
    LPSIZE lpSize = NULL);

Paramètres

pDataSource
Pointeur vers un objet COleDataSource qui recevra les données contenues dans l’élément OLE.

bIncludeLink
TRUE si les données de liaison doivent être incluses ; sinon FALSE.

lpOffset
Décalage du curseur de la souris de l’origine de l’objet en pixels.

lpSize
Taille de l’objet en pixels.

Notes

GetClipboardDataest appelée comme implémentation par défaut d’OnGetClipboardData. Remplacez OnGetClipboardData uniquement si vous souhaitez proposer des formats de données en plus de ceux proposés par CopyToClipboard. Placez ces formats dans l’objet COleDataSource avant ou après l’appel CopyToClipboard, puis passez l’objet COleDataSource à la fonction COleDataSource ::SetClipboard . Par exemple, si vous souhaitez que la position de l’élément OLE dans son document conteneur l’accompagne dans le Presse-papiers, vous définissez votre propre format pour transmettre ces informations et la placer dans l’avant COleDataSource d’appeler CopyToClipboard.

COleClientItem ::GetDocument

Appelez cette fonction pour obtenir un pointeur vers le document qui contient l’élément OLE.

COleDocument* GetDocument() const;

Valeur de retour

Pointeur vers le document qui contient l’élément OLE. NULL si l’élément ne fait pas partie d’un document.

Notes

Ce pointeur permet d’accéder à l’objet COleDocument que vous avez passé en tant qu’argument au COleClientItem constructeur.

COleClientItem ::GetDrawAspect

Appelez la GetDrawAspect fonction membre pour déterminer l’aspect actuel ou la vue de l’élément.

DVASPECT GetDrawAspect() const;

Valeur de retour

Valeur de l’énumération DVASPECT, dont les valeurs sont répertoriées dans la référence pour SetDrawAspect.

Notes

L’aspect spécifie le rendu de l’élément.

COleClientItem ::GetExtent

Appelez cette fonction pour récupérer la taille de l’élément OLE.

BOOL GetExtent(
    LPSIZE lpSize,
    DVASPECT nDrawAspect = (DVASPECT)- 1);

Paramètres

lpSize
Pointeur vers une SIZE structure ou un CSize objet qui recevra les informations de taille.

nDrawAspect
Spécifie l’aspect de l’élément OLE dont les limites doivent être récupérées. Pour connaître les valeurs possibles, consultez SetDrawAspect.

Valeur de retour

Différent de zéro s’il réussit ; 0 si l’élément OLE est vide.

Notes

Si l’application serveur a été écrite à l’aide de la bibliothèque de classes Microsoft Foundation, cette fonction entraîne l’appel de la fonction membre OnGetExtent de l’objet correspondant COleServerItem . Notez que la taille récupérée peut différer de la dernière taille définie par la fonction membre SetExtent ; la taille spécifiée par SetExtent est traitée comme une suggestion. Les dimensions sont en unités MM_HIMETRIC.

Remarque

N’appelez GetExtent pas pendant le traitement d’un gestionnaire OLE, tel que OnChange. Appelez GetCachedExtent à la place.

Pour plus d’informations, consultez IOleObject ::GetExtent dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::GetIconFromRegistry

Appelez cette fonction membre pour récupérer un handle vers une ressource d’icône associée au serveur d’un CLSID particulier.

HICON GetIconFromRegistry() const;

static HICON GetIconFromRegistry(CLSID& clsid);

Paramètres

clsid
Référence au CLSID pour le serveur associé à l’icône.

Valeur de retour

Un handle valide pour la ressource d’icône ou NULL si l’icône du serveur ou une icône par défaut est introuvable.

Notes

Cette fonction membre ne démarre pas le serveur ni n’obtient une icône dynamiquement, même si le serveur est déjà en cours d’exécution. Au lieu de cela, cette fonction membre ouvre l’image exécutable du serveur et récupère l’icône statique associée au serveur lors de son inscription.

COleClientItem ::GetIconicMetafile

Récupère le métafichier utilisé pour dessiner l’icône de l’élément.

HGLOBAL GetIconicMetafile();

Valeur de retour

Handle du métafichier en cas de réussite ; sinon NULL.

Notes

S’il n’existe aucune icône actuelle, une icône par défaut est retournée. Cela est appelé automatiquement par les dialogues MFC/OLE et n’est généralement pas appelé directement.

Cette fonction appelle également SetIconicMetafile pour mettre en cache le métafichier pour une utilisation ultérieure.

COleClientItem ::GetInPlaceWindow

Appelez la GetInPlaceWindow fonction membre pour obtenir un pointeur vers la fenêtre dans laquelle l’élément a été ouvert pour la modification sur place.

CWnd* GetInPlaceWindow();

Valeur de retour

Pointeur vers la fenêtre d’édition sur place de l’élément ; NULL si l’élément n’est pas actif ou si son serveur n’est pas disponible.

Notes

Cette fonction doit être appelée uniquement pour les éléments actifs sur place.

COleClientItem ::GetItemState

Appelez cette fonction pour obtenir l’état actuel de l’élément OLE.

UINT GetItemState() const;

Valeur de retour

Valeur COleClientItem::ItemState énumérée, qui peut être l’une des suivantes : emptyState, loadedState, openState, activeState, . activeUIState Pour plus d’informations sur ces états, consultez l’article Conteneurs : États client-élément.

Notes

Pour être averti lorsque l’état de l’élément OLE change, utilisez la fonction membre OnChange .

Pour plus d’informations, consultez l’article Conteneurs : États client-élément.

COleClientItem ::GetLastStatus

Retourne le code d’état de la dernière opération OLE.

SCODE GetLastStatus() const;

Valeur de retour

Valeur SCODE.

Notes

Pour les fonctions membres qui retournent une valeur BOOL de FALSE ou d’autres fonctions membres qui retournent NULL, GetLastStatus retournent des informations d’échec plus détaillées. N’oubliez pas que la plupart des fonctions membres OLE lèvent des exceptions pour des erreurs plus graves. Les informations spécifiques sur l’interprétation du SCODE dépendent de l’appel OLE sous-jacent qui a retourné une valeur SCODE pour la dernière fois.

Pour plus d’informations sur SCODE, consultez Structure des codes d’erreur COM dans la documentation du Kit de développement logiciel (SDK) Windows.

COleClientItem ::GetLinkUpdateOptions

Appelez cette fonction pour obtenir la valeur actuelle de l’option link-update pour l’élément OLE.

OLEUPDATE GetLinkUpdateOptions();

Valeur de retour

Une des valeurs suivantes :

  • OLEUPDATE_ALWAYS Mettre à jour l’élément lié dans la mesure du possible. Cette option prend en charge la case d’option Mise à jour automatique des liens dans la boîte de dialogue Liens.

  • OLEUPDATE_ONCALL Mettre à jour l’élément lié uniquement à la demande de l’application conteneur (lorsque la fonction membre UpdateLink est appelée). Cette option prend en charge la case d’option Mise à jour manuelle des liens dans la boîte de dialogue Liens.

Notes

Il s’agit d’une opération avancée.

Cette fonction est appelée automatiquement par la classe COleLinksDialog .

Pour plus d’informations, consultez IOleLink ::GetUpdateOptions dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::GetType

Appelez cette fonction pour déterminer si l’élément OLE est incorporé ou lié ou statique.

OLE_OBJTYPE GetType() const;

Valeur de retour

Entier non signé avec l’une des valeurs suivantes :

  • OT_LINK l’élément OLE est un lien.

  • OT_EMBEDDED l’élément OLE est incorporé.

  • OT_STATIC L’élément OLE est statique, c’est-à-dire qu’il contient uniquement des données de présentation, pas des données natives, et ne peut donc pas être modifié.

COleClientItem ::GetUserType

Appelez cette fonction pour obtenir la chaîne visible par l’utilisateur décrivant le type de l’élément OLE, par exemple « Document Word ».

void GetUserType(
    USERCLASSTYPE nUserClassType,
    CString& rString);

Paramètres

nUserClassType
Valeur indiquant la variante souhaitée de la chaîne décrivant le type de l’élément OLE. Cela peut avoir l’une des valeurs suivantes :

  • USERCLASSTYPE_FULL Le nom de type complet affiché à l’utilisateur.

  • USERCLASSTYPE_SHORT Un nom court (15 caractères maximum) à utiliser dans les menus contextuels et la boîte de dialogue Modifier les liens.

  • USERCLASSTYPE_APPNAME Nom de l’application qui entretient la classe.

rString
Référence à un objet CString auquel la chaîne décrivant le type de l’élément OLE doit être retournée.

Notes

Il s’agit souvent de l’entrée dans la base de données d’inscription système.

Si le nom de type complet est demandé mais non disponible, le nom court est utilisé à la place. Si aucun type d’élément OLE n’est trouvé dans la base de données d’inscription ou s’il n’existe aucun type d’utilisateur inscrit pour le type d’élément OLE, le type d’utilisateur actuellement stocké dans l’élément OLE est utilisé. Si ce nom de type d’utilisateur est une chaîne vide, « Objet inconnu » est utilisé.

Pour plus d’informations, consultez IOleObject ::GetUserType dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::IsInPlaceActive

Appelez cette fonction pour voir si l’élément OLE est actif sur place.

BOOL IsInPlaceActive() const;

Valeur de retour

Différent de zéro si l’élément OLE est actif sur place ; sinon 0.

Notes

Il est courant d’exécuter une logique différente selon que l’élément est en cours de modification. La fonction vérifie si l’état actuel de l’élément est égal à l’un ou à l’autre activeState activeUIState.

COleClientItem ::IsLinkUpToDate

Appelez cette fonction pour voir si l’élément OLE est à jour.

BOOL IsLinkUpToDate() const;

Valeur de retour

Différent de zéro si l’élément OLE est à jour ; sinon 0.

Notes

Un élément lié peut être obsolète si son document source a été mis à jour. Un élément incorporé qui contient des liens dans celui-ci peut de la même façon devenir obsolète. La fonction effectue une vérification récursive de l’élément OLE. Notez que déterminer si un élément OLE est obsolète peut être aussi coûteux que d’effectuer une mise à jour.

Cela est appelé automatiquement par l’implémentation COleLinksDialog .

Pour plus d’informations, consultez IOleObject ::IsUpToDate dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::IsModified

Appelez cette fonction pour voir si l’élément OLE est sale (modifié depuis son dernier enregistrement).

BOOL IsModified() const;

Valeur de retour

Différent de zéro si l’élément OLE est sale ; sinon 0.

Notes

Pour plus d’informations, consultez IPersistStorage ::IsDirty dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::IsOpen

Appelez cette fonction pour voir si l’élément OLE est ouvert ; c’est-à-dire ouvert dans une instance de l’application serveur s’exécutant dans une fenêtre distincte.

BOOL IsOpen() const;

Valeur de retour

Différent de zéro si l’élément OLE est ouvert ; sinon 0.

Notes

Il est utilisé pour déterminer quand dessiner l’objet avec un modèle de hachage. Un objet ouvert doit avoir un modèle de hachure dessiné au-dessus de l’objet. Vous pouvez utiliser un objet CRectTracker pour y parvenir.

COleClientItem ::IsRunning

Appelez cette fonction pour voir si l’élément OLE est en cours d’exécution ; autrement dit, si l’élément est chargé et en cours d’exécution dans l’application serveur.

BOOL IsRunning() const;

Valeur de retour

Différent de zéro si l’élément OLE est en cours d’exécution ; sinon 0.

Notes

Pour plus d’informations, consultez OleIsRunning dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::OnActivate

Appelé par l’infrastructure pour informer l’élément qu’il vient d’être activé en place.

virtual void OnActivate();

Notes

Notez que cette fonction est appelée pour indiquer que le serveur est en cours d’exécution, et non pour indiquer que son interface utilisateur a été installée dans l’application conteneur. À ce stade, l’objet n’a pas d’interface utilisateur active (n’est pas activeUIState). Il n’a pas installé ses menus ou sa barre d’outils. La fonction membre OnActivateUI est appelée lorsque cela se produit.

L’implémentation par défaut appelle la fonction membre OnChange avec OLE_CHANGEDSTATE en tant que paramètre. Remplacez cette fonction pour effectuer un traitement personnalisé lorsqu’un élément devient actif sur place.

COleClientItem ::OnActivateUI

L’infrastructure appelle OnActivateUI lorsque l’objet a entré l’état actif de l’interface utilisateur.

virtual void OnActivateUI();

Notes

L’objet a maintenant installé sa barre d’outils et ses menus.

L’implémentation par défaut mémorise le HWND du serveur pour les appels ultérieurs GetServerWindow .

COleClientItem ::OnChange

Appelé par l’infrastructure lorsque l’utilisateur modifie, enregistre ou ferme l’élément OLE.

virtual void OnChange(
    OLE_NOTIFICATION nCode,
    DWORD dwParam);

Paramètres

nCode
Raison pour laquelle le serveur a modifié cet élément. Il peut avoir l’une des valeurs suivantes :

  • OLE_CHANGED l’apparence de l’élément OLE a changé.

  • OLE_SAVED l’élément OLE a été enregistré.

  • OLE_CLOSED l’élément OLE a été fermé.

  • OLE_CHANGED_STATE L’élément OLE a changé d’un état à un autre.

dwParam
Si nCode est OLE_SAVED ou OLE_CLOSED, ce paramètre n’est pas utilisé. Si nCode est OLE_CHANGED, ce paramètre spécifie l’aspect de l’élément OLE qui a changé. Pour connaître les valeurs possibles, consultez le paramètre dwParam de COleClientItem ::D raw. Si nCode est OLE_CHANGED_STATE, ce paramètre est une COleClientItem::ItemState valeur énumérée et décrit l’état entré. Il peut avoir l’une des valeurs suivantes : emptyState, , loadedStateopenState, activeState, ou activeUIState.

Notes

(Si l’application serveur est écrite à l’aide de la bibliothèque de classes Microsoft Foundation, cette fonction est appelée en réponse aux Notify fonctions membres de COleServerDoc ou COleServerItem.) L’implémentation par défaut marque le document conteneur comme modifié si nCode est OLE_CHANGED ou OLE_SAVED.

Pour OLE_CHANGED_STATE, l’état actuel retourné par GetItemState sera toujours l’ancien état, ce qui signifie que l’état qui était actuel avant cette modification d’état.

Remplacez cette fonction pour répondre aux modifications apportées à l’état de l’élément OLE. En règle générale, vous mettez à jour l’apparence de l’élément en invalidant la zone dans laquelle l’élément est affiché. Appelez l’implémentation de la classe de base au début de votre remplacement.

COleClientItem ::OnChangeItemPosition

Appelé par l’infrastructure pour informer le conteneur que l’étendue de l’élément OLE a changé pendant l’activation sur place.

virtual BOOL OnChangeItemPosition(const CRect& rectPos);

Paramètres

rectPos
Indique la position de l’élément par rapport à la zone cliente de l’application conteneur.

Valeur de retour

Différent de zéro si la position de l’élément est correctement modifiée ; sinon 0.

Notes

L’implémentation par défaut détermine le nouveau rectangle visible de l’élément OLE et appelle SetItemRects avec les nouvelles valeurs. L’implémentation par défaut calcule le rectangle visible de l’élément et transmet ces informations au serveur.

Remplacez cette fonction pour appliquer des règles spéciales à l’opération de redimensionnement/déplacement. Si l’application est écrite dans MFC, cet appel résulte du fait que le serveur appelé COleServerDoc ::RequestPositionChange.

COleClientItem ::OnDeactivate

Appelé par l’infrastructure lorsque l’élément OLE passe de l’état actif sur place ( activeState) à l’état chargé, ce qui signifie qu’il est désactivé après une activation sur place.

virtual void OnDeactivate();

Notes

Notez que cette fonction est appelée pour indiquer que l’élément OLE est fermé, et non que son interface utilisateur a été supprimée de l’application conteneur. Dans ce cas, la fonction membre OnDeactivateUI est appelée.

L’implémentation par défaut appelle la fonction membre OnChange avec OLE_CHANGEDSTATE en tant que paramètre. Remplacez cette fonction pour effectuer un traitement personnalisé lorsqu’un élément actif sur place est désactivé. Par exemple, si vous prenez en charge la commande d’annulation dans votre application conteneur, vous pouvez remplacer cette fonction pour ignorer l’état d’annulation, indiquant que la dernière opération effectuée sur l’élément OLE ne peut pas être annulée une fois l’élément désactivé.

COleClientItem ::OnDeactivateAndUndo

Appelé par l’infrastructure lorsque l’utilisateur appelle la commande d’annulation après l’activation de l’élément OLE en place.

virtual void OnDeactivateAndUndo();

Notes

L’implémentation par défaut appelle DeactivateUI pour désactiver l’interface utilisateur du serveur. Remplacez cette fonction si vous implémentez la commande d’annulation dans votre application conteneur. Dans votre remplacement, appelez la version de classe de base de la fonction, puis annulez la dernière commande exécutée dans votre application.

Pour plus d’informations, consultez IOleInPlaceSite ::D eactivateAndUndo dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::OnDeactivateUI

Appelé lorsque l’utilisateur désactive un élément activé en place.

virtual void OnDeactivateUI(BOOL bUndoable);

Paramètres

bUndoable
Spécifie si les modifications d’édition sont inutilisables.

Notes

Cette fonction restaure l’interface utilisateur de l’application conteneur à son état d’origine, en masquant les menus et autres contrôles créés pour l’activation sur place.

Si bUndoable a la valeur FALSE, le conteneur doit désactiver la commande d’annulation, en ignorant en effet l’état d’annulation du conteneur, car il indique que la dernière opération effectuée par le serveur n’est pas non modifiable.

COleClientItem ::OnDiscardUndoState

Appelé par l’infrastructure lorsque l’utilisateur effectue une action qui ignore l’état d’annulation lors de la modification de l’élément OLE.

virtual void OnDiscardUndoState();

Notes

L'implémentation par défaut n'exécute aucune opération. Remplacez cette fonction si vous implémentez la commande d’annulation dans votre application conteneur. Dans votre remplacement, ignorez l’état d’annulation de l’application conteneur.

Si le serveur a été écrit avec la bibliothèque de classes Microsoft Foundation, le serveur peut entraîner l’appel de cette fonction en appelant COleServerDoc ::D iscardUndoState.

Pour plus d’informations, consultez IOleInPlaceSite ::D iscardUndoState dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::OnGetClipboardData

Appelé par l’infrastructure pour obtenir un COleDataSource objet contenant toutes les données qui seraient placées dans le Presse-papiers par un appel à la fonction membre CopyToClipboard ou DoDragDrop .

virtual COleDataSource* OnGetClipboardData(
    BOOL bIncludeLink,
    LPPOINT lpOffset,
    LPSIZE lpSize);

Paramètres

bIncludeLink
Définissez cette valeur sur TRUE si les données de liaison doivent être copiées dans le Presse-papiers. Définissez cette valeur sur FALSE si votre application serveur ne prend pas en charge les liens.

lpOffset
Pointeur vers le décalage du curseur de la souris de l’origine de l’objet en pixels.

lpSize
Pointeur vers la taille de l’objet en pixels.

Valeur de retour

Pointeur vers un objet COleDataSource contenant les données du Presse-papiers.

Notes

L’implémentation par défaut de cette fonction appelle GetClipboardData.

COleClientItem ::OnGetClipRect

L’infrastructure appelle la OnGetClipRect fonction membre pour obtenir les coordonnées du rectangle de découpage de l’élément en cours de modification.

virtual void OnGetClipRect(CRect& rClipRect);

Paramètres

rClipRect
Pointeur vers un objet de classe CRect qui contiendra les coordonnées du rectangle de découpage de l’élément.

Notes

Les coordonnées sont en pixels par rapport à la zone cliente de la fenêtre d’application conteneur.

L’implémentation par défaut retourne simplement le rectangle client de la vue sur laquelle l’élément est actif.

COleClientItem ::OnGetItemPosition

L’infrastructure appelle la OnGetItemPosition fonction membre pour obtenir les coordonnées de l’élément en cours de modification.

virtual void OnGetItemPosition(CRect& rPosition);

Paramètres

rPosition
Référence à l’objet CRect qui contiendra les coordonnées de position de l’élément.

Notes

Les coordonnées sont en pixels par rapport à la zone cliente de la fenêtre d’application conteneur.

L’implémentation par défaut de cette fonction est sans effet. Les applications qui prennent en charge la modification sur place nécessitent son implémentation.

COleClientItem ::OnGetWindowContext

Appelé par l’infrastructure lorsqu’un élément est activé en place.

virtual BOOL OnGetWindowContext(
    CFrameWnd** ppMainFrame,
    CFrameWnd** ppDocFrame,
    LPOLEINPLACEFRAMEINFO lpFrameInfo);

Paramètres

ppMainFrame
Pointeur vers un pointeur vers la fenêtre de cadre principale.

ppDocFrame
Pointeur vers un pointeur vers la fenêtre cadre du document.

lpFrameInfo
Pointeur vers une structure OLEINPLACEFRAMEINFO qui recevra des informations sur la fenêtre frame.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Cette fonction est utilisée pour récupérer des informations sur la fenêtre parente de l’élément OLE.

Si le conteneur est une application MDI, l’implémentation par défaut retourne un pointeur vers l’objet CMDIFrameWnd dans ppMainFrame et un pointeur vers l’objet CMDIChildWnd actif dans ppDocFrame. Si le conteneur est une application SDI, l’implémentation par défaut retourne un pointeur vers l’objet CFrameWnd dans ppMainFrame et retourne NULL dans ppDocFrame. L’implémentation par défaut remplit également les membres de lpFrameInfo.

Remplacez cette fonction uniquement si l’implémentation par défaut ne convient pas à votre application ; par exemple, si votre application a un paradigme d’interface utilisateur qui diffère de SDI ou MDI. Il s’agit d’un élément substituable avancé.

Pour plus d’informations, consultez IOleInPlaceSite ::GetWindowContext et la structure OLEINPLACEFRAMEINFO dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::OnInsertMenus

Appelé par l’infrastructure pendant l’activation sur place pour insérer les menus de l’application conteneur dans un menu vide.

virtual void OnInsertMenus(
    CMenu* pMenuShared,
    LPOLEMENUGROUPWIDTHS lpMenuWidths);

Paramètres

pMenuShared
Pointe vers un menu vide.

lpMenuWidths
Pointe vers un tableau de six valeurs LONG indiquant le nombre de menus dans chacun des groupes de menus suivants : Fichier, Édition, Conteneur, Objet, Fenêtre, Aide. L’application conteneur est responsable des groupes de menus Fichier, Conteneur et Fenêtre, correspondant aux éléments 0, 2 et 4 de ce tableau.

Notes

Ce menu est ensuite transmis au serveur, qui insère ses propres menus, créant un menu composite. Cette fonction peut être appelée à plusieurs reprises pour générer plusieurs menus composites.

L’implémentation par défaut insère dans pMenuShared les menus de conteneur sur place ; autrement dit, les groupes de menus Fichier, Conteneur et Fenêtre. CDocTemplate ::SetContainerInfo est utilisé pour définir cette ressource de menu. L’implémentation par défaut affecte également les valeurs appropriées aux éléments 0, 2 et 4 dans lpMenuWidths, en fonction de la ressource de menu. Remplacez cette fonction si l’implémentation par défaut n’est pas appropriée pour votre application ; par exemple, si votre application n’utilise pas de modèles de document pour associer des ressources à des types de documents. Si vous remplacez cette fonction, vous devez également remplacer OnSetMenu et OnRemoveMenus. Il s’agit d’un élément substituable avancé.

Pour plus d’informations, consultez IOleInPlaceFrame ::InsertMenus dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::OnRemoveMenus

Appelé par l’infrastructure pour supprimer les menus du conteneur du menu composite spécifié lorsque l’activation sur place se termine.

virtual void OnRemoveMenus(CMenu* pMenuShared);

Paramètres

pMenuShared
Pointe vers le menu composite construit par des appels à la fonction membre OnInsertMenus .

Notes

L’implémentation par défaut supprime de pMenuShared les menus de conteneur sur place, c’est-à-dire les groupes de menus Fichier, Conteneur et Fenêtre. Remplacez cette fonction si l’implémentation par défaut n’est pas appropriée pour votre application ; par exemple, si votre application n’utilise pas de modèles de document pour associer des ressources à des types de documents. Si vous remplacez cette fonction, vous devez probablement remplacer OnInsertMenus et OnSetMenu . Il s’agit d’un élément substituable avancé.

Le sous-menu sur pMenuShared peut être partagé par plusieurs menus composites si le serveur a appelé OnInsertMenusà plusieurs reprises . Par conséquent, vous ne devez pas supprimer de sous-menu dans votre remplacement OnRemoveMenus; vous ne devez les détacher que.

Pour plus d’informations, consultez IOleInPlaceFrame ::RemoveMenus dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::OnScrollBy

Appelé par l’infrastructure pour faire défiler l’élément OLE en réponse aux demandes du serveur.

virtual BOOL OnScrollBy(CSize sizeExtent);

Paramètres

sizeExtent
Spécifie les distances, en pixels, pour faire défiler les directions x et y.

Valeur de retour

Différent de zéro si l’élément a été fait défiler ; 0 si l’élément n’a pas pu être défilement.

Notes

Par exemple, si l’élément OLE est partiellement visible et que l’utilisateur se déplace en dehors de la région visible tout en effectuant une modification sur place, cette fonction est appelée pour conserver le curseur visible. L'implémentation par défaut n'exécute aucune opération. Remplacez cette fonction pour faire défiler l’élément par la quantité spécifiée. Notez que, suite au défilement, la partie visible de l’élément OLE peut changer. Appelez SetItemRects pour mettre à jour le rectangle visible de l’élément.

Pour plus d’informations, consultez IOleInPlaceSite ::Scroll dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::OnSetMenu

Appelé par l’infrastructure deux fois lorsque l’activation sur place commence et se termine ; la première fois pour installer le menu composite et la deuxième fois (avec un trou égal à NULL) pour la supprimer.

virtual void OnSetMenu(
    CMenu* pMenuShared,
    HOLEMENU holemenu,
    HWND hwndActiveObject);

Paramètres

pMenuShared
Pointeur vers le menu composite construit par des appels à la fonction membre OnInsertMenus et à la InsertMenu fonction.

troumenu
Gérez le descripteur de menu retourné par la OleCreateMenuDescriptor fonction, ou NULL si le code de répartition doit être supprimé.

hwndActiveObject
Gérez la fenêtre d’édition de l’élément OLE. Il s’agit de la fenêtre qui recevra les commandes de modification d’OLE.

Notes

L’implémentation par défaut installe ou supprime le menu composite, puis appelle la fonction OleSetMenuDescriptor pour installer ou supprimer le code de répartition. Remplacez cette fonction si l’implémentation par défaut n’est pas appropriée pour votre application. Si vous remplacez cette fonction, vous devez probablement remplacer OnInsertMenus et OnRemoveMenus . Il s’agit d’un élément substituable avancé.

Pour plus d’informations, consultez OleCreateMenuDescriptor, OleSetMenuDescriptor et IOleInPlaceFrame ::SetMenu dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::OnShowControlBars

Appelé par l’infrastructure pour afficher et masquer les barres de contrôle de l’application conteneur.

virtual BOOL OnShowControlBars(
    CFrameWnd* pFrameWnd,
    BOOL bShow);

Paramètres

pFrameWnd
Pointeur vers la fenêtre frame de l’application conteneur. Il peut s’agir d’une fenêtre frame principale ou d’une fenêtre enfant MDI.

bShow
Spécifie si les barres de contrôle doivent être affichées ou masquées.

Valeur de retour

Différent de zéro si l’appel de fonction provoque une modification de l’état des barres de contrôle ; 0 si l’appel n’entraîne aucune modification ou si pFrameWnd ne pointe pas vers la fenêtre frame du conteneur.

Notes

Cette fonction retourne 0 si les barres de contrôle sont déjà dans l’état spécifié par bShow. Cela se produit, par exemple, si les barres de contrôle sont masquées et bShow a la valeur FALSE.

L’implémentation par défaut supprime la barre d’outils de la fenêtre frame de niveau supérieur.

COleClientItem ::OnShowItem

Appelé par l’infrastructure pour afficher l’élément OLE, ce qui le rend totalement visible lors de l’édition.

virtual void OnShowItem();

Notes

Elle est utilisée lorsque votre application conteneur prend en charge les liens vers des éléments incorporés (autrement dit, si vous avez dérivé votre classe de document à partir de COleLinkingDoc). Cette fonction est appelée pendant l’activation sur place ou lorsque l’élément OLE est une source de lien et que l’utilisateur souhaite le modifier. L’implémentation par défaut active la première vue sur le document conteneur. Remplacez cette fonction pour faire défiler le document afin que l’élément OLE soit visible.

COleClientItem ::OnUpdateFrameTitle

Appelé par l’infrastructure pendant l’activation sur place pour mettre à jour la barre de titre de la fenêtre frame.

virtual BOOL OnUpdateFrameTitle();

Valeur de retour

Différent de zéro si cette fonction a correctement mis à jour le titre du frame, sinon zéro.

Notes

L’implémentation par défaut ne modifie pas le titre de la fenêtre frame. Remplacez cette fonction si vous souhaitez un autre titre d’image pour votre application, par exemple « élément d’application - serveur dans docname » (comme dans « Microsoft Excel - feuille de calcul dans REPORT.DOC »). Il s’agit d’un élément substituable avancé.

COleClientItem ::ReactivateAndUndo

Appelez cette fonction pour réactiver l’élément OLE et annuler la dernière opération effectuée par l’utilisateur lors de la modification sur place.

BOOL ReactivateAndUndo();

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Si votre application conteneur prend en charge la commande d’annulation, appelez cette fonction si l’utilisateur choisit la commande d’annulation immédiatement après la désactivation de l’élément OLE.

Si l’application serveur est écrite avec les bibliothèques de classes Microsoft Foundation, cette fonction entraîne l’appel du serveur COleServerDoc ::OnReactivateAndUndo.

Pour plus d’informations, consultez IOleInPlaceObject ::ReactivateAndUndo dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::Release

Appelez cette fonction pour nettoyer les ressources utilisées par l’élément OLE.

virtual void Release(OLECLOSE dwCloseOption = OLECLOSE_NOSAVE);

Paramètres

dwCloseOption
Indicateur spécifiant dans quelles circonstances l’élément OLE est enregistré lorsqu’il retourne à l’état chargé. Pour obtenir la liste des valeurs possibles, consultez COleClientItem ::Close.

Notes

Release est appelé par le COleClientItem destructeur.

Pour plus d’informations, consultez IUnknown ::Release dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::Reload

Ferme et recharge l’élément.

BOOL Reload();

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Appelez la fonction après l’activation de l’élément Reload en tant qu’élément d’un autre type par un appel à ActivateAs.

COleClientItem ::Run

Exécute l’application associée à cet élément.

void Run();

Notes

Appelez la Run fonction membre pour lancer l’application serveur avant d’activer l’élément. Cette opération est effectuée automatiquement par Activate et DoVerb. Il n’est donc généralement pas nécessaire d’appeler cette fonction. Appelez cette fonction s’il est nécessaire d’exécuter le serveur pour définir un attribut d’élément, tel que SetExtent, avant d’exécuter DoVerb.

COleClientItem ::SetDrawAspect

Appelez la SetDrawAspect fonction membre pour définir l'« aspect » ou la vue de l’élément.

virtual void SetDrawAspect(DVASPECT nDrawAspect);

Paramètres

nDrawAspect
Valeur de l’énumération DVASPECT. Ce paramètre peut prendre l'une des valeurs suivantes :

  • DVASPECT_CONTENT Élément est représenté de telle sorte qu’il puisse être affiché en tant qu’objet incorporé à l’intérieur de son conteneur.

  • DVASPECT_THUMBNAIL Élément est rendu dans une représentation « miniature » afin qu’il puisse être affiché dans un outil de navigation.

  • DVASPECT_ICON Élément est représenté par une icône.

  • DVASPECT_DOCPRINT Élément est représenté comme s’il était imprimé à l’aide de la commande Imprimer dans le menu Fichier.

Notes

L’aspect spécifie comment l’élément doit être rendu par Draw lorsque la valeur par défaut de l’argument nDrawAspect de cette fonction est utilisée.

Cette fonction est appelée automatiquement par l’icône Modifier (et d’autres boîtes de dialogue qui appellent directement la boîte de dialogue Icône de modification) pour activer l’aspect d’affichage emblématique lorsque l’utilisateur le demande.

COleClientItem ::SetExtent

Appelez cette fonction pour spécifier la quantité d’espace disponible pour l’élément OLE.

void SetExtent(
    const CSize& size,
    DVASPECT nDrawAspect = DVASPECT_CONTENT);

Paramètres

size
Objet CSize qui contient les informations de taille.

nDrawAspect
Spécifie l’aspect de l’élément OLE dont les limites doivent être définies. Pour connaître les valeurs possibles, consultez SetDrawAspect.

Notes

Si l’application serveur a été écrite à l’aide de la bibliothèque de classes Microsoft Foundation, cela entraîne l’appel de la fonction membre OnSetExtent de l’objet correspondant COleServerItem . L’élément OLE peut ensuite ajuster son affichage en conséquence. Les dimensions doivent être en unités MM_HIMETRIC. Appelez cette fonction lorsque l’utilisateur redimensionne l’élément OLE ou si vous prenez en charge une forme de négociation de disposition.

Pour plus d’informations, consultez IOleObject ::SetExtent dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::SetHostNames

Appelez cette fonction pour spécifier le nom de l’application conteneur et le nom du conteneur pour un élément OLE incorporé.

void SetHostNames(
    LPCTSTR lpszHost,
    LPCTSTR lpszHostObj);

Paramètres

lpszHost
Pointeur vers le nom visible par l’utilisateur de l’application conteneur.

lpszHostObj
Pointeur vers une chaîne d’identification du conteneur qui contient l’élément OLE.

Notes

Si l’application serveur a été écrite à l’aide de la bibliothèque de classes Microsoft Foundation, cette fonction appelle la fonction membre OnSetHostNames du COleServerDoc document qui contient l’élément OLE. Ces informations sont utilisées dans les titres de fenêtre lorsque l’élément OLE est en cours de modification. Chaque fois qu’un document conteneur est chargé, l’infrastructure appelle cette fonction pour tous les éléments OLE du document. SetHostNames s’applique uniquement aux éléments incorporés. Il n’est pas nécessaire d’appeler cette fonction chaque fois qu’un élément OLE incorporé est activé pour modification.

Cela est également appelé automatiquement avec le nom de l’application et le nom du document lorsqu’un objet est chargé ou lorsqu’un fichier est enregistré sous un autre nom. En conséquence, il n’est généralement pas nécessaire d’appeler cette fonction directement.

Pour plus d’informations, consultez IOleObject ::SetHostNames dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::SetIconicMetafile

Met en cache le métafichier utilisé pour dessiner l’icône de l’élément.

BOOL SetIconicMetafile(HGLOBAL hMetaPict);

Paramètres

hMetaPict
Handle vers le métafichier utilisé pour dessiner l’icône de l’élément.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Utilisez GetIconicMetafile pour récupérer le métafichier.

Le paramètre hMetaPict est copié dans l’élément ; par conséquent, hMetaPict doit être libéré par l’appelant.

COleClientItem ::SetItemRects

Appelez cette fonction pour définir le rectangle englobant ou le rectangle visible de l’élément OLE.

BOOL SetItemRects(
    LPCRECT lpPosRect = NULL,
    LPCRECT lpClipRect = NULL);

Paramètres

lprcPosRect
Pointeur vers le rectangle contenant les limites de l’élément OLE par rapport à sa fenêtre parente, dans les coordonnées du client.

lprcClipRect
Pointeur vers le rectangle contenant les limites de la partie visible de l’élément OLE par rapport à sa fenêtre parente, dans les coordonnées du client.

Valeur de retour

Différent de zéro s’il réussit ; sinon, 0.

Notes

Cette fonction est appelée par l’implémentation par défaut de la fonction membre OnChangeItemPosition . Vous devez appeler cette fonction chaque fois que la position ou la partie visible de l’élément OLE change. Cela signifie généralement que vous l’appelez à partir des fonctions membres OnSize et OnScrollBy de votre vue.

Pour plus d’informations, consultez IOleInPlaceObject ::SetObjectRects dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::SetLinkUpdateOptions

Appelez cette fonction pour définir l’option link-update pour la présentation de l’élément lié spécifié.

void SetLinkUpdateOptions(OLEUPDATE dwUpdateOpt);

Paramètres

dwUpdateOpt
Valeur de l’option link-update pour cet élément. Cette valeur doit être l’une des suivantes :

  • OLEUPDATE_ALWAYS Mettre à jour l’élément lié dans la mesure du possible. Cette option prend en charge la case d’option Mise à jour automatique des liens dans la boîte de dialogue Liens.

  • OLEUPDATE_ONCALL Mettre à jour l’élément lié uniquement à la demande de l’application conteneur (lorsque la fonction membre UpdateLink est appelée). Cette option prend en charge la case d’option Mise à jour manuelle des liens dans la boîte de dialogue Liens.

Notes

En règle générale, vous ne devez pas modifier les options de mise à jour choisies par l’utilisateur dans la boîte de dialogue Liens.

Pour plus d’informations, consultez IOleLink ::SetUpdateOptions dans le Kit de développement logiciel (SDK) Windows.

COleClientItem ::SetPrintDevice

Appelez cette fonction pour modifier l’appareil cible d’impression pour cet élément.

BOOL SetPrintDevice(const DVTARGETDEVICE* ptd);
BOOL SetPrintDevice(const PRINTDLG* ppd);

Paramètres

Ptd
Pointeur vers une structure de données DVTARGETDEVICE , qui contient des informations sur le nouvel appareil cible d’impression. Sa valeur peut être NULL.

ppd
Pointeur vers une structure de données PRINTDLG , qui contient des informations sur le nouvel appareil cible d’impression. Sa valeur peut être NULL.

Valeur de retour

Différent de zéro si la fonction a réussi ; sinon 0.

Notes

Cette fonction met à jour l’appareil cible d’impression pour l’élément, mais n’actualise pas le cache de présentation. Pour mettre à jour le cache de présentation d’un élément, appelez UpdateLink.

Les arguments de cette fonction contiennent des informations que le système OLE utilise pour identifier l’appareil cible. La PRINTDLG structure contient des informations que Windows utilise pour initialiser la boîte de dialogue Imprimer commune. Une fois que l’utilisateur ferme la boîte de dialogue, Windows retourne des informations sur les sélections de l’utilisateur dans cette structure. Le m_pd membre d’un objet CPrintDialog est une PRINTDLG structure.

Pour plus d’informations sur cette structure, consultez PRINTDLG dans le Kit de développement logiciel (SDK) Windows.

Pour plus d’informations, consultez DVTARGETDEVICE dans le Kit de développement logiciel (SDK) Windows.

Appelez cette fonction pour mettre à jour immédiatement les données de présentation de l’élément OLE.

BOOL UpdateLink();

Valeur de retour

Différent de zéro en cas de réussite ; sinon, 0.

Notes

Pour les éléments liés, la fonction recherche la source du lien pour obtenir une nouvelle présentation pour l’élément OLE. Ce processus peut impliquer l’exécution d’une ou plusieurs applications serveur, ce qui peut prendre du temps. Pour les éléments incorporés, la fonction fonctionne de manière récursive, en vérifiant si l’élément incorporé contient des liens susceptibles d’être obsolètes et de les mettre à jour. L’utilisateur peut également mettre à jour manuellement des liens individuels à l’aide de la boîte de dialogue Liens.

Pour plus d’informations, consultez IOleLink ::Update dans le Kit de développement logiciel (SDK) Windows.

Voir aussi

Exemple MFC MFCBIND
Exemple OCLIENT MFC
CDocItem, classe
Graphique hiérarchique
COleServerItem, classe