COleClientItem, classe
Définit l'interface du conteneur pour les éléments OLE.
class COleClientItem : public CDocItem
Nom | Description |
---|---|
COleClientItem ::COleClientItem | Construit un objet COleClientItem . |
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. |
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. |
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.
Notes
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++.
COleClientItem
En-tête : afxole.h
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);
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.
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.
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);
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 différente de zéro cas de réussite ; sinon, 0.
Cela est appelé automatiquement par COleConvertDialog ::D oConvert. Il n’est généralement pas appelé directement.
Appelez cette fonction pour initialiser un COleDataObject pour accéder aux données dans l’élément OLE.
void AttachDataObject(COleDataObject& rDataObject) const;
rDataObject
Référence à un COleDataObject
objet qui sera initialisé pour autoriser l’accès aux données dans l’élément OLE.
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();
Non différent de zéro si l’activation sur place est autorisée ; sinon 0.
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.
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);
pDataObject
Pointeur vers l’objet COleDataObject à partir duquel l’élément OLE doit être créé.
Différent de zéro si le conteneur peut créer un objet incorporé à partir de l’objet COleDataObject
; sinon, 0.
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) .
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);
pDataObject
Pointeur vers l’objet COleDataObject à partir duquel l’élément OLE doit être créé.
Différent de zéro si le conteneur peut créer un objet lié à partir de l’objet COleDataObject
.
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) .
Appelez cette fonction pour voir si un élément OLE incorporé peut être collé à partir du Presse-papiers.
static BOOL PASCAL CanPaste();
Différent de zéro si un élément OLE incorporé peut être collé à partir du Presse-papiers ; sinon 0.
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();
Différent de zéro si un élément OLE lié peut être collé à partir du Presse-papiers ; sinon 0.
Pour plus d’informations, consultez OleGetClipboard et OleQueryLinkFromData dans le Kit de développement logiciel (SDK) Windows.
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);
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.
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.
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);
pContainerDoc
Pointeur vers le document conteneur qui contiendra cet élément. Il peut s’agir de n’importe quel dérivé COleDocument .
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 :
Appelez cette fonction membre pour convertir l’élément en type spécifié par clsidNew.
virtual BOOL ConvertTo(REFCLSID clsidNew);
clsidNew
ID de classe du type cible.
Valeur différente de zéro cas de réussite ; sinon, 0.
Cela est appelé automatiquement par COleConvertDialog. Il n’est pas nécessaire de l’appeler directement.
Appelez cette fonction pour copier l’élément OLE dans le Presse-papiers.
void CopyToClipboard(BOOL bIncludeLink = FALSE);
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.
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.
Appelez cette fonction pour créer une copie de l’élément OLE spécifié.
BOOL CreateCloneFrom(const COleClientItem* pSrcItem);
pSrcItem
Pointeur vers l’élément OLE à dupliquer.
Valeur différente de zéro cas de réussite ; sinon, 0.
La copie est identique à l’élément source. Vous pouvez utiliser cette fonction pour prendre en charge les opérations d’annulation.
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);
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 différente de zéro cas de réussite ; sinon, 0.
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.
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);
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 différente de zéro cas de réussite ; sinon, 0.
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.
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);
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 différente de zéro cas de réussite ; sinon, 0.
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 d’un fichier est sélectionné.
Pour plus d’informations, consultez OleCreateFromFile, OLERENDER et FORMATETC dans le Kit de développement logiciel (SDK) Windows.
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);
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 différente de zéro cas de réussite ; sinon, 0.
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.
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);
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 différente de zéro cas de réussite ; sinon, 0.
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.
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);
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 différente de zéro cas de réussite ; sinon, 0.
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.
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);
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 différente de zéro cas de réussite ; sinon, 0.
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.
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);
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 différente de zéro cas de réussite ; sinon, 0.
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.
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);
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 différente de zéro cas de réussite ; sinon, 0.
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.
Appelez cette fonction pour désactiver l’élément OLE et libérer toutes les ressources associées.
void Deactivate();
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 Deactivate
DeactivateUI.
Pour plus d’informations, consultez IOleInPlaceObject ::InPlaceDeactivate dans le Kit de développement logiciel (SDK) Windows.
Appelez cette fonction lorsque l’utilisateur désactive un élément activé en place.
void DeactivateUI();
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.
Appelez cette fonction pour supprimer l’élément OLE du document conteneur.
void Delete(BOOL bAutoDelete = TRUE);
bAutoDelete
Spécifie si l’élément doit être supprimé du document.
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.
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);
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 DROPEFFECT. S’il s’agit de DROPEFFECT_MOVE, les données d’origine doivent être supprimées.
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.
Appel DoVerb
pour exécuter le verbe spécifié.
virtual BOOL DoVerb(
LONG nVerb,
CView* pView,
LPMSG lpMsg = NULL);
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.
Différent de zéro si le verbe a été exécuté avec succès ; sinon 0.
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 .
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);
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 différente de zéro cas de réussite ; sinon, 0.
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.
Retourne l’affichage sur lequel l’élément est activé sur place.
CView* GetActiveView() const;
Pointeur vers la vue ; sinon NULL si l’élément n’est pas activé sur place.
Appelez cette fonction pour récupérer la taille de l’élément OLE.
BOOL GetCachedExtent(
LPSIZE lpSize,
DVASPECT nDrawAspect = (DVASPECT)-1);
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.
Différent de zéro s’il réussit ; 0 si l’élément OLE est vide.
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.
Retourne l’ID de classe de l’élément dans la mémoire vers laquelle pointe pClassID.
void GetClassID(CLSID* pClassID) const;
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.
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.
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);
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.
GetClipboardData
est 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
.
Appelez cette fonction pour obtenir un pointeur vers le document qui contient l’élément OLE.
COleDocument* GetDocument() const;
Pointeur vers le document qui contient l’élément OLE. NULL si l’élément ne fait pas partie d’un document.
Ce pointeur permet d’accéder à l’objet COleDocument
que vous avez passé en tant qu’argument au COleClientItem
constructeur.
Appelez la GetDrawAspect
fonction membre pour déterminer l’aspect actuel ou la vue de l’élément.
DVASPECT GetDrawAspect() const;
Valeur de l’énumération DVASPECT, dont les valeurs sont répertoriées dans la référence pour SetDrawAspect.
L’aspect spécifie le rendu de l’élément.
Appelez cette fonction pour récupérer la taille de l’élément OLE.
BOOL GetExtent(
LPSIZE lpSize,
DVASPECT nDrawAspect = (DVASPECT)- 1);
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.
Différent de zéro s’il réussit ; 0 si l’élément OLE est vide.
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.
Notes
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.
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);
clsid
Référence au CLSID pour le serveur associé à l’icône.
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.
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.
Récupère le métafichier utilisé pour dessiner l’icône de l’élément.
HGLOBAL GetIconicMetafile();
Handle du métafichier en cas de réussite ; sinon NULL.
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.
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();
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.
Cette fonction doit être appelée uniquement pour les éléments actifs sur place.
Appelez cette fonction pour obtenir l’état actuel de l’élément OLE.
UINT GetItemState() const;
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.
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.
Retourne le code d’état de la dernière opération OLE.
SCODE GetLastStatus() const;
Valeur SCODE.
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.
Appelez cette fonction pour obtenir la valeur actuelle de l’option link-update pour l’élément OLE.
OLEUPDATE GetLinkUpdateOptions();
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.
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.
Appelez cette fonction pour déterminer si l’élément OLE est incorporé ou lié ou statique.
OLE_OBJTYPE GetType() const;
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é.
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);
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.
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.
Appelez cette fonction pour voir si l’élément OLE est actif sur place.
BOOL IsInPlaceActive() const;
Différent de zéro si l’élément OLE est actif sur place ; sinon 0.
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
.
Appelez cette fonction pour voir si l’élément OLE est à jour.
BOOL IsLinkUpToDate() const;
Différent de zéro si l’élément OLE est à jour ; sinon 0.
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.
Appelez cette fonction pour voir si l’élément OLE est sale (modifié depuis son dernier enregistrement).
BOOL IsModified() const;
Différent de zéro si l’élément OLE est sale ; sinon 0.
Pour plus d’informations, consultez IPersistStorage ::IsDirty dans le Kit de développement logiciel (SDK) Windows.
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;
Différent de zéro si l’élément OLE est ouvert ; sinon 0.
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.
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;
Différent de zéro si l’élément OLE est en cours d’exécution ; sinon 0.
Pour plus d’informations, consultez OleIsRunning dans le Kit de développement logiciel (SDK) Windows.
Appelé par l’infrastructure pour informer l’élément qu’il vient d’être activé en place.
virtual void OnActivate();
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.
L’infrastructure appelle OnActivateUI
lorsque l’objet a entré l’état actif de l’interface utilisateur.
virtual void OnActivateUI();
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
.
Appelé par l’infrastructure lorsque l’utilisateur modifie, enregistre ou ferme l’élément OLE.
virtual void OnChange(
OLE_NOTIFICATION nCode,
DWORD dwParam);
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
, , loadedState
openState
, activeState
, ou activeUIState
.
(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.
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);
rectPos
Indique la position de l’élément par rapport à la zone cliente de l’application conteneur.
Différent de zéro si la position de l’élément est correctement modifiée ; sinon 0.
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.
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();
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é.
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();
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.
Appelé lorsque l’utilisateur désactive un élément activé en place.
virtual void OnDeactivateUI(BOOL bUndoable);
bUndoable
Spécifie si les modifications d’édition sont inutilisables.
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.
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();
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.
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);
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.
Pointeur vers un objet COleDataSource contenant les données du Presse-papiers.
L’implémentation par défaut de cette fonction appelle GetClipboardData.
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);
rClipRect
Pointeur vers un objet de classe CRect qui contiendra les coordonnées du rectangle de découpage de l’élément.
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.
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);
rPosition
Référence à l’objet CRect qui contiendra les coordonnées de position de l’élément.
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.
Appelé par l’infrastructure lorsqu’un élément est activé en place.
virtual BOOL OnGetWindowContext(
CFrameWnd** ppMainFrame,
CFrameWnd** ppDocFrame,
LPOLEINPLACEFRAMEINFO lpFrameInfo);
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 différente de zéro cas de réussite ; sinon, 0.
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.
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);
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.
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.
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);
pMenuShared
Pointe vers le menu composite construit par des appels à la fonction membre OnInsertMenus .
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.
Appelé par l’infrastructure pour faire défiler l’élément OLE en réponse aux demandes du serveur.
virtual BOOL OnScrollBy(CSize sizeExtent);
sizeExtent
Spécifie les distances, en pixels, pour faire défiler les directions x et y.
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.
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.
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);
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.
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.
Appelé par l’infrastructure pour afficher et masquer les barres de contrôle de l’application conteneur.
virtual BOOL OnShowControlBars(
CFrameWnd* pFrameWnd,
BOOL bShow);
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.
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.
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.
Appelé par l’infrastructure pour afficher l’élément OLE, ce qui le rend totalement visible lors de l’édition.
virtual void OnShowItem();
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.
Appelé par l’infrastructure pendant l’activation sur place pour mettre à jour la barre de titre de la fenêtre frame.
virtual BOOL OnUpdateFrameTitle();
Différent de zéro si cette fonction a correctement mis à jour le titre du frame, sinon zéro.
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é.
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 différente de zéro cas de réussite ; sinon, 0.
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.
Appelez cette fonction pour nettoyer les ressources utilisées par l’élément OLE.
virtual void Release(OLECLOSE dwCloseOption = OLECLOSE_NOSAVE);
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.
Release
est appelé par le COleClientItem
destructeur.
Pour plus d’informations, consultez IUnknown ::Release dans le Kit de développement logiciel (SDK) Windows.
Ferme et recharge l’élément.
BOOL Reload();
Valeur différente de zéro cas de réussite ; sinon, 0.
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.
Exécute l’application associée à cet élément.
void Run();
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.
Appelez la SetDrawAspect
fonction membre pour définir l'« aspect » ou la vue de l’élément.
virtual void SetDrawAspect(DVASPECT nDrawAspect);
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.
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.
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);
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.
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.
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);
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.
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.
Met en cache le métafichier utilisé pour dessiner l’icône de l’élément.
BOOL SetIconicMetafile(HGLOBAL hMetaPict);
hMetaPict
Handle vers le métafichier utilisé pour dessiner l’icône de l’élément.
Valeur différente de zéro cas de réussite ; sinon, 0.
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.
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);
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.
Différent de zéro s’il réussit ; sinon, 0.
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.
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);
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.
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.
Appelez cette fonction pour modifier l’appareil cible d’impression pour cet élément.
BOOL SetPrintDevice(const DVTARGETDEVICE* ptd);
BOOL SetPrintDevice(const PRINTDLG* ppd);
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.
Différent de zéro si la fonction a réussi ; sinon 0.
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();
Différent de zéro en cas de réussite ; sinon, 0.
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.
Exemple MFC MFCBIND
Exemple OCLIENT MFC
CDocItem, classe
Graphique hiérarchique
COleServerItem, classe