Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
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
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