Partager via


IViewObject ::GetColorSet, méthode (oleidl.h)

Retourne la palette logique que l’objet utilisera pour dessiner dans sa méthode IViewObject ::D raw avec les paramètres correspondants.

Syntaxe

HRESULT GetColorSet(
  [in]  DWORD          dwDrawAspect,
  [in]  LONG           lindex,
  [in]  void           *pvAspect,
  [in]  DVTARGETDEVICE *ptd,
  [in]  HDC            hicTargetDev,
  [out] LOGPALETTE     **ppColorSet
);

Paramètres

[in] dwDrawAspect

Spécifie la représentation de l'objet. Les représentations incluent du contenu, une icône, une miniature ou un document imprimé. Les valeurs valides sont extraites de l’énumération DVASPECT. Pour plus d’informations, consultez l’énumération DVASPECT .

[in] lindex

Partie de l'objet appropriée pour l'opération de dessin. Son interprétation varie selon dwDrawAspect. Pour plus d’informations, consultez l’énumération DVASPECT .

[in] pvAspect

Pointeur vers des informations supplémentaires sur la vue de l’objet spécifié dans dwDrawAspect. Étant donné qu’aucun des aspects actuels ne prend en charge d’informations supplémentaires, pvAspect doit toujours avoir la valeur NULL.

[in] ptd

Pointeur vers la structure DVTARGETDEVICE qui décrit l’appareil pour lequel l’objet doit être rendu. Si la valeur est NULL, la vue doit être rendue pour l’appareil cible par défaut (généralement l’affichage). Une valeur autre que NULL est interprétée conjointement avec hicTargetDev et hdcDraw. Par exemple, si hdcDraw spécifie une imprimante comme contexte d’appareil, ptd pointe vers une structure décrivant ce périphérique d’imprimante. Les données peuvent en fait être imprimées si hicTargetDev est une valeur valide ou elles peuvent être affichées en mode aperçu avant impression si hicTargetDev a la valeur NULL.

[in] hicTargetDev

Contexte d’information pour l’appareil cible indiqué par le paramètre ptd à partir duquel l’objet peut extraire les métriques de l’appareil et tester les fonctionnalités de l’appareil. Si ptd a la valeur NULL, l’objet doit ignorer le paramètre hicTargetDev .

[out] ppColorSet

Adresse de la variable pointeur LOGPALETTE qui reçoit un pointeur vers la structure LOGPALETTE. La structure LOGPALETTE contient l’ensemble des couleurs qui seraient utilisées si IViewObject ::D raw était appelé avec les mêmes paramètres pour dwAspect, lindex, pvAspect, ptd et hicTargetDev. Si ppColorSet a la valeur NULL, l’objet n’utilise pas de palette.

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
S_FALSE
Le jeu de couleurs est vide ou l’objet ne fournit pas les informations.
OLE_E_BLANK
Aucune donnée de présentation pour l’objet.
DV_E_LINDEX
Valeur non valide pour lindex ; Actuellement, seul -1 est pris en charge.
DV_E_DVASPECT
Valeur non valide pour dwAspect.
E_INVALIDARG
Une ou plusieurs des valeurs de paramètre fournies ne sont pas valides.
E_OUTOFMEMORY
Mémoire insuffisante disponible pour cette opération.

Remarques

La méthode IViewObject ::GetColorSet interroge de manière récursive tous les objets imbriqués et retourne un jeu de couleurs qui représente l’union de toutes les couleurs demandées. Le jeu de couleurs finit par être percolé sur le conteneur de niveau supérieur qui possède le cadre de fenêtre. Ce conteneur peut appeler IViewObject ::GetColorSet sur chacun de ses objets incorporés pour obtenir toutes les couleurs nécessaires pour dessiner les objets incorporés. Le conteneur peut utiliser les jeux de couleurs obtenus conjointement avec d’autres couleurs dont il a besoin pour définir la palette de couleurs globale.

L’implémentation fournie par OLE de IViewObject ::GetColorSet examine les données dont elle dispose pour dessiner l’image. Si CF_DIB est le format de dessin, la palette trouvée dans la bitmap est utilisée. Pour une bitmap standard, aucune information de couleur n’est retournée. Si le format de dessin est un métafichier, le gestionnaire d’objets énumère le métafichier à la recherche d’un enregistrement de métafichier CreatePalette. Si vous en trouvez un, le gestionnaire l’utilise comme jeu de couleurs.

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

DVASPECT

IViewObject