Share via


CPalette, classe

Encapsule une palette de couleurs Windows.

Syntaxe

class CPalette : public CGdiObject

Membres

Constructeurs publics

Nom Description
CPalette ::CPalette Construit un CPalette objet sans palette Windows attachée. Vous devez initialiser l’objet CPalette avec l’une des fonctions membres d’initialisation avant de pouvoir être utilisé.

Méthodes publiques

Nom Description
CPalette ::AnimatePalette Remplace les entrées dans la palette logique identifiée par l’objet CPalette . L’application n’a pas besoin de mettre à jour sa zone cliente, car Windows mappe immédiatement les nouvelles entrées dans la palette système.
CPalette ::CreateHalftonePalette Crée une palette de demi-teintes pour le contexte de l’appareil et l’attache à l’objet CPalette .
CPalette ::CreatePalette Crée une palette de couleurs Windows et l’attache à l’objet CPalette .
CPalette ::FromHandle Retourne un pointeur vers un CPalette objet lorsqu’un handle est donné à un objet de palette Windows.
CPalette ::GetEntryCount Récupère le nombre d’entrées de palette dans une palette logique.
CPalette ::GetNearestPaletteIndex Retourne l’index de l’entrée dans la palette logique qui correspond le plus étroitement à une valeur de couleur.
CPalette ::GetPaletteEntries Récupère une plage d’entrées de palette dans une palette logique.
CPalette ::ResizePalette Modifie la taille de la palette logique spécifiée par l’objet CPalette par le nombre spécifié d’entrées.
CPalette ::SetPaletteEntries Définit les valeurs et indicateurs de couleur RVB dans une plage d’entrées dans une palette logique.

Opérateurs publics

Nom Description
CPalette ::operator HPALETTE Retourne le HPALETTE attaché au CPalette.

Notes

Une palette fournit une interface entre une application et un appareil de sortie de couleur (par exemple, un appareil d’affichage). L’interface permet à l’application de tirer pleinement parti des fonctionnalités de couleur de l’appareil de sortie sans interférer gravement avec les couleurs affichées par d’autres applications. Windows utilise la palette logique de l’application (liste des couleurs nécessaires) et la palette système (qui définit les couleurs disponibles) pour déterminer les couleurs utilisées.

Un CPalette objet fournit des fonctions membres pour manipuler la palette référencée par l’objet. Construisez un CPalette objet et utilisez ses fonctions membres pour créer la palette réelle, un objet GDI (Graphics Device Interface) et manipuler ses entrées et d’autres propriétés.

Pour plus d’informations sur l’utilisation CPalette, consultez Objets graphiques.

Hiérarchie d'héritage

CObject

CGdiObject

CPalette

Spécifications

En-tête : afxwin.h

CPalette ::AnimatePalette

Remplace les entrées de la palette logique attachée à l’objet CPalette .

void AnimatePalette(
    UINT nStartIndex,
    UINT nNumEntries,
    LPPALETTEENTRY lpPaletteColors);

Paramètres

nStartIndex
Spécifie la première entrée de la palette à animer.

nNumEntries
Spécifie le nombre d’entrées dans la palette à animer.

lpPaletteColors
Pointe vers le premier membre d’un tableau de structures PALETTEENTRY pour remplacer les entrées de palette identifiées par nStartIndex et nNumEntries.

Notes

Lorsqu’une application appelle AnimatePalette, il n’est pas obligé de mettre à jour sa zone cliente, car Windows mappe immédiatement les nouvelles entrées dans la palette système.

La AnimatePalette fonction modifie uniquement les entrées avec l’indicateur PC_RESERVED défini dans le membre correspondant palPaletteEntry de la structure LOGPALETTE attachée à l’objet CPalette . Pour plus d’informations sur cette structure, consultez LOGPALETTE dans le Kit de développement logiciel (SDK) Windows.

CPalette ::CPalette

Construit un objet CPalette.

CPalette();

Notes

L’objet n’a pas de palette jointe tant que vous n’en appelez CreatePalette pas pour l’attacher.

CPalette ::CreateHalftonePalette

Crée une palette de demi-teintes pour le contexte de l’appareil.

BOOL CreateHalftonePalette(CDC* pDC);

Paramètres

pDC
Identifie le contexte de l’appareil.

Valeur de retour

Une valeur différente de zéro si la fonction réussit ; sinon, 0.

Notes

Une application doit créer une palette de demi-teintes lorsque le mode d’étirement d’un contexte d’appareil est défini sur HALFTONE. La palette de demi-teintes logique retournée par la fonction membre CreateHalftonePalette doit ensuite être sélectionnée et réalisée dans le contexte de l’appareil avant que la fonction CDC ::StretchBlt ou StretchDIBits soit appelée.

Consultez le Kit de développement logiciel (SDK) Windows pour plus d’informations sur CreateHalftonePalette et StretchDIBits.

CPalette ::CreatePalette

Initialise un CPalette objet en créant une palette de couleurs logiques Windows et en l’attachant à l’objet CPalette .

BOOL CreatePalette(LPLOGPALETTE lpLogPalette);

Paramètres

lpLogPalette
Pointe vers une structure LOGPALETTE qui contient des informations sur les couleurs de la palette logique.

Valeur de retour

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

Notes

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

CPalette ::FromHandle

Retourne un pointeur vers un CPalette objet lorsqu’un handle est donné à un objet de palette Windows.

static CPalette* PASCAL FromHandle(HPALETTE hPalette);

Paramètres

hPalette
Handle vers une palette de couleurs Windows GDI.

Valeur de retour

Pointeur vers un CPalette objet en cas de réussite ; sinon NULL.

Notes

Si un CPalette objet n’est pas déjà attaché à la palette Windows, un objet temporaire CPalette est créé et attaché. Cet objet temporaire CPalette est valide uniquement jusqu’à la prochaine fois que l’application a un temps d’inactivité dans sa boucle d’événements, auquel cas tous les objets graphiques temporaires sont supprimés. En d’autres termes, l’objet temporaire est valide uniquement pendant le traitement d’un message de fenêtre.

CPalette ::GetEntryCount

Appelez cette fonction membre pour récupérer le nombre d’entrées dans une palette logique donnée.

int GetEntryCount();

Valeur de retour

Nombre d’entrées dans une palette logique.

CPalette ::GetNearestPaletteIndex

Retourne l’index de l’entrée dans la palette logique qui correspond le plus étroitement à la valeur de couleur spécifiée.

UINT GetNearestPaletteIndex(COLORREF crColor) const;

Paramètres

crColor
Spécifie la couleur à mettre en correspondance.

Valeur de retour

Index d’une entrée dans une palette logique. L’entrée contient la couleur qui correspond presque à la couleur spécifiée.

CPalette ::GetPaletteEntries

Récupère une plage d’entrées de palette dans une palette logique.

UINT GetPaletteEntries(
    UINT nStartIndex,
    UINT nNumEntries,
    LPPALETTEENTRY lpPaletteColors) const;

Paramètres

nStartIndex
Spécifie la première entrée de la palette logique à récupérer.

nNumEntries
Spécifie le nombre d’entrées dans la palette logique à récupérer.

lpPaletteColors
Pointe vers un tableau de structures de données PALETTEENTRY pour recevoir les entrées de palette. Le tableau doit contenir au moins autant de structures de données que spécifiés par nNumEntries.

Valeur de retour

Nombre d’entrées récupérées à partir de la palette logique ; 0 si la fonction a échoué.

CPalette ::operator HPALETTE

Utilisez cet opérateur pour obtenir le handle GDI Windows attaché de l’objet CPalette .

operator HPALETTE() const;

Valeur de retour

Si elle réussit, un handle vers l’objet GDI Windows représenté par l’objet CPalette ; sinon NULL.

Notes

Cet opérateur est un opérateur de cast, qui prend en charge l’utilisation directe d’un objet HPALETTE.

Pour plus d’informations sur l’utilisation d’objets graphiques, consultez l’article Objets graphiques dans le Kit de développement logiciel (SDK) Windows.

CPalette ::ResizePalette

Modifie la taille de la palette logique attachée à l’objet CPalette au nombre d’entrées spécifiées par nNumEntries.

BOOL ResizePalette(UINT nNumEntries);

Paramètres

nNumEntries
Spécifie le nombre d’entrées dans la palette une fois qu’elle a été redimensionnée.

Valeur de retour

Différent de zéro si la palette a été redimensionnée avec succès ; sinon 0.

Notes

Si une application appelle ResizePalette pour réduire la taille de la palette, les entrées restantes dans la palette redimensionnée sont inchangées. Si l’application appelle ResizePalette pour agrandir la palette, les entrées de palette supplémentaires sont définies sur noir (les valeurs rouge, verte et bleue sont toutes 0) et les indicateurs pour toutes les entrées supplémentaires sont définis sur 0.

Pour plus d’informations sur l’API ResizePaletteWindows, consultez ResizePalette dans le Kit de développement logiciel (SDK) Windows.

CPalette ::SetPaletteEntries

Définit les valeurs et indicateurs de couleur RVB dans une plage d’entrées dans une palette logique.

UINT SetPaletteEntries(
    UINT nStartIndex,
    UINT nNumEntries,
    LPPALETTEENTRY lpPaletteColors);

Paramètres

nStartIndex
Spécifie la première entrée de la palette logique à définir.

nNumEntries
Spécifie le nombre d’entrées dans la palette logique à définir.

lpPaletteColors
Pointe vers un tableau de structures de données PALETTEENTRY pour recevoir les entrées de palette. Le tableau doit contenir au moins autant de structures de données que spécifiés par nNumEntries.

Valeur de retour

Nombre d’entrées définies dans la palette logique ; 0 si la fonction a échoué.

Notes

Si la palette logique est sélectionnée dans un contexte d’appareil lorsque l’application appelle SetPaletteEntries, les modifications ne prennent effet qu’à ce que l’application appelle CDC ::RealizePalette.

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

Voir aussi

Exemple DIBLOOK MFC
CGdiObject, classe
Graphique hiérarchique
CPalette ::GetPaletteEntries
CPalette ::SetPaletteEntries