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
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 ResizePalette
Windows, 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