Share via


Klasse CPalette

Opmerking

De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Een Windows-kleurenpalet inkapselen.

Syntaxis

class CPalette : public CGdiObject

Leden

Openbare constructors

Naam Description
CPalette::CPalette Hiermee wordt een CPalette object gemaakt zonder gekoppeld Windows-palet. U moet het CPalette object initialiseren met een van de initialisatielidfuncties voordat het kan worden gebruikt.

Openbare methoden

Naam Description
CPalette::AnimatePalette Vervangt vermeldingen in het logische palet dat wordt geïdentificeerd door het CPalette object. De toepassing hoeft het clientgebied niet bij te werken, omdat Windows de nieuwe vermeldingen onmiddellijk toe wijst aan het systeempalet.
CPalette::CreateHalftonePalette Hiermee maakt u een halftoonpalet voor de apparaatcontext en koppelt u het aan het CPalette object.
CPalette::CreatePalette Hiermee maakt u een Windows-kleurenpalet en koppelt u het aan het CPalette object.
CPalette::FromHandle Retourneert een aanwijzer naar een CPalette object wanneer een ingang wordt gegeven aan een Windows-paletobject.
CPalette::GetEntryCount Hiermee haalt u het aantal paletvermeldingen in een logisch palet op.
CPalette::GetNearestPaletteIndex Retourneert de index van de vermelding in het logische palet die het meest overeenkomt met een kleurwaarde.
CPalette::GetPaletteEntries Hiermee haalt u een reeks paletvermeldingen op in een logisch palet.
CPalette::ResizePalette Hiermee wijzigt u de grootte van het logische palet dat door het CPalette object is opgegeven in het opgegeven aantal vermeldingen.
CPalette::SetPaletteEntries Hiermee stelt u RGB-kleurwaarden en -vlaggen in een bereik met vermeldingen in een logisch palet in.

Openbare operators

Naam Description
CPalette::operator HPALETTE Retourneert de HPALETTE die is gekoppeld aan de CPalette.

Opmerkingen

Een palet biedt een interface tussen een toepassing en een kleurenuitvoerapparaat (zoals een weergaveapparaat). Met de interface kan de toepassing optimaal profiteren van de kleurmogelijkheden van het uitvoerapparaat zonder de kleuren die door andere toepassingen worden weergegeven ernstig te verstoren. Windows maakt gebruik van het logische palet van de toepassing (een lijst met benodigde kleuren) en het systeempalet (dat beschikbare kleuren definieert) om de gebruikte kleuren te bepalen.

Een CPalette object biedt lidfuncties voor het bewerken van het palet waarnaar wordt verwezen door het object. Maak een CPalette object en gebruik de lidfuncties om het werkelijke palet, een GDI-object (Graphics Device Interface) te maken en de vermeldingen en andere eigenschappen te bewerken.

Zie Grafische objecten voor meer informatie over het gebruikCPalette.

Overnamehiërarchie

CObject

CGdiObject

CPalette

Requirements

Koptekst: afxwin.h

CPalette::AnimatePalette

Vervangt vermeldingen in het logische palet dat aan het CPalette object is gekoppeld.

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

Parameterwaarden

nStartIndex
Hiermee geeft u het eerste item in het palet dat moet worden geanimeerde.

nNumEntries
Hiermee geeft u het aantal vermeldingen in het palet dat moet worden geanimeerd.

lpPaletteColors
Verwijst naar het eerste lid van een matrix van PALETTEENTRY-structuren om de paletvermeldingen te vervangen die worden geïdentificeerd door nStartIndex en nNumEntries.

Opmerkingen

Wanneer een toepassing aanroept AnimatePalette, hoeft deze het clientgebied niet bij te werken, omdat Windows de nieuwe vermeldingen onmiddellijk toe wijst aan het systeempalet.

De AnimatePalette functie wijzigt alleen vermeldingen met de vlag PC_RESERVED ingesteld in het bijbehorende palPaletteEntry lid van de LOGPALETTE-structuur die aan het CPalette object is gekoppeld. Zie LOGPALETTE in de Windows SDK voor meer informatie over deze structuur.

CPalette::CPalette

Maakt een CPalette object.

CPalette();

Opmerkingen

Het object heeft geen gekoppeld palet totdat u aanroept CreatePalette om er een toe te voegen.

CPalette::CreateHalftonePalette

Hiermee maakt u een halftoonpalet voor de apparaatcontext.

BOOL CreateHalftonePalette(CDC* pDC);

Parameterwaarden

Pdc
Identificeert de apparaatcontext.

Retourwaarde

Niet-nul als de functie is geslaagd; anders 0.

Opmerkingen

Een toepassing moet een halftoonpalet maken wanneer de stretching-modus van een apparaatcontext is ingesteld op HALFTONE. Het logische halftoonpalet dat wordt geretourneerd door de lidfunctie CreateHalftonePalette , moet vervolgens worden geselecteerd en gerealiseerd in de apparaatcontext voordat de functie CDC::StretchBlt of StretchDIBits wordt aangeroepen.

Zie de Windows SDK voor meer informatie over CreateHalftonePalette en StretchDIBits.

CPalette::CreatePalette

Initialiseert een CPalette object door een logisch kleurenpalet van Windows te maken en het aan het CPalette object te koppelen.

BOOL CreatePalette(LPLOGPALETTE lpLogPalette);

Parameterwaarden

lpLogPalette
Verwijst naar een LOGPALETTE-structuur die informatie bevat over de kleuren in het logische palet.

Retourwaarde

Niet-nul indien geslaagd; anders 0.

Opmerkingen

Zie de Windows SDK voor meer informatie over de LOGPALETTE structuur.

CPalette::FromHandle

Retourneert een aanwijzer naar een CPalette object wanneer een ingang wordt gegeven aan een Windows-paletobject.

static CPalette* PASCAL FromHandle(HPALETTE hPalette);

Parameterwaarden

hPalette
Een handgreep naar een Windows GDI-kleurenpalet.

Retourwaarde

Een aanwijzer naar een CPalette object als dit lukt; anders NULL.

Opmerkingen

Als een CPalette object nog niet is gekoppeld aan het Windows-palet, wordt er een tijdelijk CPalette object gemaakt en gekoppeld. Dit tijdelijke CPalette object is alleen geldig tot de volgende keer dat de toepassing inactief is in de gebeurtenislus, waarna alle tijdelijke grafische objecten worden verwijderd. Met andere woorden, het tijdelijke object is alleen geldig tijdens de verwerking van één vensterbericht.

CPalette::GetEntryCount

Roep deze lidfunctie aan om het aantal vermeldingen in een bepaald logisch palet op te halen.

int GetEntryCount();

Retourwaarde

Aantal vermeldingen in een logisch palet.

CPalette::GetNearestPaletteIndex

Retourneert de index van de vermelding in het logische palet die het meest overeenkomt met de opgegeven kleurwaarde.

UINT GetNearestPaletteIndex(COLORREF crColor) const;

Parameterwaarden

crColor
Hiermee geeft u de kleur die moet worden vergeleken.

Retourwaarde

De index van een vermelding in een logisch palet. De vermelding bevat de kleur die bijna overeenkomt met de opgegeven kleur.

CPalette::GetPaletteEntries

Hiermee haalt u een reeks paletvermeldingen op in een logisch palet.

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

Parameterwaarden

nStartIndex
Hiermee geeft u het eerste item in het logische palet dat moet worden opgehaald.

nNumEntries
Hiermee geeft u het aantal vermeldingen in het logische palet dat moet worden opgehaald.

lpPaletteColors
Verwijst naar een matrix van PALETTEENTRY-gegevensstructuren om de paletvermeldingen te ontvangen. De matrix moet ten minste zoveel gegevensstructuren bevatten als opgegeven door nNumEntries.

Retourwaarde

Het aantal vermeldingen dat is opgehaald uit het logische palet; 0 als de functie is mislukt.

CPalette::operator HPALETTE

Gebruik deze operator om de gekoppelde Windows GDI-ingang van het CPalette object op te halen.

operator HPALETTE() const;

Retourwaarde

Als dit lukt, wordt een ingang naar het Windows GDI-object weergegeven door het CPalette object; anders NULL.

Opmerkingen

Deze operator is een cast-operator die direct gebruik van een HPALETTE-object ondersteunt.

Zie het artikel Grafische objecten in de Windows SDK voor meer informatie over het gebruik van grafische objecten.

CPalette::ResizePalette

Hiermee wijzigt u de grootte van het logische palet dat aan het CPalette object is gekoppeld aan het aantal vermeldingen dat is opgegeven door nNumEntries.

BOOL ResizePalette(UINT nNumEntries);

Parameterwaarden

nNumEntries
Hiermee geeft u het aantal vermeldingen in het palet nadat het formaat is gewijzigd.

Retourwaarde

Niet-nul als het palet is gewijzigd; anders 0.

Opmerkingen

Als een toepassing aanroept ResizePalette om de grootte van het palet te verkleinen, blijven de vermeldingen in het formaatpalet ongewijzigd. Als de toepassing aanroept ResizePalette om het palet te vergroten, worden de extra paletvermeldingen ingesteld op zwart (de rode, groene en blauwe waarden zijn 0) en worden de vlaggen voor alle extra vermeldingen ingesteld op 0.

Zie ResizePalette in de Windows SDK voor meer informatie over de Windows-APIResizePalette.

CPalette::SetPaletteEntries

Hiermee stelt u RGB-kleurwaarden en -vlaggen in een bereik met vermeldingen in een logisch palet in.

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

Parameterwaarden

nStartIndex
Hiermee geeft u het eerste item in het logische palet dat moet worden ingesteld.

nNumEntries
Hiermee geeft u het aantal vermeldingen in het logische palet dat moet worden ingesteld.

lpPaletteColors
Verwijst naar een matrix van PALETTEENTRY-gegevensstructuren om de paletvermeldingen te ontvangen. De matrix moet ten minste zoveel gegevensstructuren bevatten als opgegeven door nNumEntries.

Retourwaarde

Het aantal vermeldingen dat is ingesteld in het logische palet; 0 als de functie is mislukt.

Opmerkingen

Als het logische palet is geselecteerd in een apparaatcontext wanneer de toepassing aanroept SetPaletteEntries, worden de wijzigingen pas van kracht als de toepassing CDC::RealizePalette aanroept.

Zie PALETTEENTRY in de Windows SDK voor meer informatie.

Zie ook

MFC-voorbeeld-DIBLOOK
CGdiObject-klasse
Hiërarchiegrafiek
CPalette::GetPaletteEntries
CPalette::SetPaletteEntries