Partager via


IOleInPlaceObject ::SetObjectRects, méthode (oleidl.h)

Spécifie la quantité de l’objet sur place qui doit être visible.

Syntaxe

HRESULT SetObjectRects(
  [in] LPCRECT lprcPosRect,
  [in] LPCRECT lprcClipRect
);

Paramètres

[in] lprcPosRect

Pointeur vers la structure RECT contenant la position de l’objet sur place à l’aide des coordonnées client de sa fenêtre parente.

[in] lprcClipRect

Pointeur vers le rectangle externe contenant le rectangle de position de l’objet sur place (lprcPosRect). Ce rectangle est relatif à la zone cliente de la fenêtre parente de l'objet.

Valeur retournée

Cette méthode retourne S_OK en cas de réussite. Les autres valeurs de retour possibles sont les suivantes.

Code de retour Description
E_INVALIDARG
Le pointeur spécifié n’est pas valide.
E_OUTOFMEMORY
La mémoire disponible pour l’opération est insuffisante.
E_UNEXPECTED
Une erreur inattendue s’est produite.

Remarques

Il est possible que lprcClipRect change sans que lprcPosRect ne change.

La taille du rectangle d’un objet sur place est toujours calculée en pixels. Ceci est différent des autres visualisations d’objet OLE, qui se trouvent dans HIMETRIC.

Note Lors de l’exécution de IOleInPlaceObject ::SetObjectRects, n’appelez pas les fonctions PeekMessage ou GetMessage , ni à une boîte de dialogue. Cela peut entraîner un blocage du système. Il existe d’autres restrictions quant aux méthodes et fonctions d’interface OLE qui peuvent être appelées à partir de IOleInPlaceObject ::SetObjectRects.
 

Notes aux appelants

Le conteneur doit appeler IOleInPlaceObject ::SetObjectRects chaque fois que la position de la fenêtre de l’objet sur place et/ou la partie visible de l’objet sur place change.

Notes aux implémenteurs

L’objet doit dimensionner sa fenêtre sur place pour qu’elle corresponde à l’intersection de lprcPosRect et lprcClipRect. L’objet doit également dessiner son contenu dans la fenêtre sur place de l’objet afin que le découpage approprié ait lieu.

L’objet doit comparer sa largeur et sa hauteur à celles fournies par son conteneur (transmis par lprcPosRect). Si la comparaison n’aboutit pas à une correspondance, le conteneur applique la mise à l’échelle à l’objet. L’objet doit ensuite décider s’il doit continuer la modification sur place en mode mise à l’échelle/zoom ou désactiver.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête oleidl.h

Voir aussi

GetMessage

IOleInPlaceObject

IOleInPlaceSite ::OnPosRectChange

PeekMessage