Classe CPalette

Incapsula una tavolozza dei colori di Windows.

Sintassi

class CPalette : public CGdiObject

Membri

Costruttori pubblici

Nome Descrizione
CPalette::CPalette Costruisce un CPalette oggetto senza tavolozza di Windows associata. È necessario inizializzare l'oggetto CPalette con una delle funzioni membro di inizializzazione prima di poterlo usare.

Metodi pubblici

Nome Descrizione
CPalette::AnimatePalette Sostituisce le voci nella tavolozza logica identificata dall'oggetto CPalette . L'applicazione non deve aggiornare l'area client, perché Windows esegue immediatamente il mapping delle nuove voci nel riquadro di sistema.
CPalette::CreateHalftonePalette Crea una tavolozza mezzotona per il contesto di dispositivo e la collega all'oggetto CPalette .
CPalette::CreatePalette Crea una tavolozza dei colori di Windows e la collega all'oggetto CPalette .
CPalette::FromHandle Restituisce un puntatore a un CPalette oggetto quando viene assegnato un handle a un oggetto tavolozza di Windows.
CPalette::GetEntryCount Recupera il numero di voci della tavolozza in una tavolozza logica.
CPalette::GetNearestPaletteIndex Restituisce l'indice della voce nella tavolozza logica che corrisponde più strettamente a un valore di colore.
CPalette::GetPaletteEntries Recupera un intervallo di voci di tavolozza in una tavolozza logica.
CPalette::ResizePalette Modifica le dimensioni della tavolozza logica specificata dall'oggetto CPalette in base al numero specificato di voci.
CPalette::SetPaletteEntries Imposta i valori e i flag di colore RGB in un intervallo di voci in una tavolozza logica.

Operatori pubblici

Nome Descrizione
CPalette::operator HPALETTE Restituisce l'oggetto HPALETTE associato all'oggetto CPalette.

Osservazioni:

Una tavolozza fornisce un'interfaccia tra un'applicazione e un dispositivo di output dei colori ,ad esempio un dispositivo di visualizzazione. L'interfaccia consente all'applicazione di sfruttare appieno le funzionalità di colore del dispositivo di output senza interferire gravemente con i colori visualizzati da altre applicazioni. Windows usa la tavolozza logica dell'applicazione (un elenco di colori necessari) e la tavolozza di sistema (che definisce i colori disponibili) per determinare i colori usati.

Un CPalette oggetto fornisce funzioni membro per la modifica della tavolozza a cui fa riferimento l'oggetto . Costruisci un CPalette oggetto e usa le funzioni membro per creare la tavolozza effettiva, un oggetto GDI (Graphics Device Interface) e modificare le voci e altre proprietà.

Per altre informazioni sull'uso CPalettedi , vedere Oggetti grafici.

Gerarchia di ereditarietà

CObject

CGdiObject

CPalette

Requisiti

Intestazione: afxwin.h

CPalette::AnimatePalette

Sostituisce le voci nella tavolozza logica collegata all'oggetto CPalette .

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

Parametri

nStartIndex
Specifica la prima voce della tavolozza da animare.

nNumEntries
Specifica il numero di voci nella tavolozza da animare.

lpPaletteColors
Punta al primo membro di una matrice di strutture PALETTEENTRY per sostituire le voci della tavolozza identificate da nStartIndex e nNumEntries.

Osservazioni:

Quando un'applicazione chiama AnimatePalette, non è necessario aggiornare l'area client, perché Windows esegue immediatamente il mapping delle nuove voci nel riquadro di sistema.

La AnimatePalette funzione modificherà solo le voci con il flag PC_RESERVED impostato nel membro corrispondente palPaletteEntry della struttura LOGPALETTE collegata all'oggetto CPalette . Per altre informazioni su questa struttura, vedere LOGPALETTE in Windows SDK.

CPalette::CPalette

Costruisce un oggetto CPalette.

CPalette();

Osservazioni:

L'oggetto non ha tavolozza associata fino a quando non si chiama CreatePalette per collegarne uno.

CPalette::CreateHalftonePalette

Crea una tavolozza halftone per il contesto di dispositivo.

BOOL CreateHalftonePalette(CDC* pDC);

Parametri

pDC
Identifica il contesto del dispositivo.

Valore restituito

Diverso da zero se la funzione ha esito positivo; in caso contrario, 0.

Osservazioni:

Un'applicazione deve creare una tavolozza halftone quando la modalità di estensione di un contesto di dispositivo è impostata su HALFTONE. La tavolozza a metàtone logica restituita dalla funzione membro CreateHalftonePalette deve quindi essere selezionata e realizzata nel contesto del dispositivo prima che venga chiamata la funzione CDC::StretchBlt o StretchDIBits .

Per altre informazioni su CreateHalftonePalette e StretchDIBits, vedere Windows SDK.

CPalette::CreatePalette

Inizializza un CPalette oggetto creando una tavolozza dei colori logica di Windows e associandola all'oggetto CPalette .

BOOL CreatePalette(LPLOGPALETTE lpLogPalette);

Parametri

lpLogPalette
Punta a una struttura LOGPALETTE che contiene informazioni sui colori nella tavolozza logica.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Per altre informazioni sulla LOGPALETTE struttura, vedere Windows SDK.

CPalette::FromHandle

Restituisce un puntatore a un CPalette oggetto quando viene assegnato un handle a un oggetto tavolozza di Windows.

static CPalette* PASCAL FromHandle(HPALETTE hPalette);

Parametri

hPalette
Handle per una tavolozza dei colori GDI di Windows.

Valore restituito

Puntatore a un CPalette oggetto se ha esito positivo; in caso contrario, NULL.

Osservazioni:

Se un CPalette oggetto non è già collegato alla tavolozza di Windows, viene creato e collegato un oggetto temporaneo CPalette . Questo oggetto temporaneo CPalette è valido solo fino alla successiva volta che l'applicazione ha tempo di inattività nel ciclo di eventi, in cui vengono eliminati tutti gli oggetti grafici temporanei. In altre parole, l'oggetto temporaneo è valido solo durante l'elaborazione di un messaggio di finestra.

CPalette::GetEntryCount

Chiamare questa funzione membro per recuperare il numero di voci in una determinata tavolozza logica.

int GetEntryCount();

Valore restituito

Numero di voci in una tavolozza logica.

CPalette::GetNearestPaletteIndex

Restituisce l'indice della voce nella tavolozza logica che corrisponde maggiormente al valore di colore specificato.

UINT GetNearestPaletteIndex(COLORREF crColor) const;

Parametri

crColor
Specifica il colore da associare.

Valore restituito

Indice di una voce in una tavolozza logica. La voce contiene il colore più vicino al colore specificato.

CPalette::GetPaletteEntries

Recupera un intervallo di voci di tavolozza in una tavolozza logica.

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

Parametri

nStartIndex
Specifica la prima voce nella tavolozza logica da recuperare.

nNumEntries
Specifica il numero di voci nella tavolozza logica da recuperare.

lpPaletteColors
Punta a una matrice di strutture di dati PALETTEENTRY per ricevere le voci della tavolozza. La matrice deve contenere almeno il numero di strutture di dati specificate da nNumEntries.

Valore restituito

Numero di voci recuperate dalla tavolozza logica; 0 se la funzione non è riuscita.

CPalette::operator HPALETTE

Utilizzare questo operatore per ottenere l'handle GDI di Windows collegato dell'oggetto CPalette .

operator HPALETTE() const;

Valore restituito

In caso di esito positivo, un handle per l'oggetto GDI di Windows rappresentato dall'oggetto CPalette ; in caso contrario, NULL.

Osservazioni:

Questo operatore è un operatore di cast che supporta l'uso diretto di un oggetto HPALETTE.

Per altre informazioni sull'uso di oggetti grafici, vedere l'articolo Oggetti grafici in Windows SDK.

CPalette::ResizePalette

Modifica le dimensioni della tavolozza logica associata all'oggetto CPalette al numero di voci specificate da nNumEntries.

BOOL ResizePalette(UINT nNumEntries);

Parametri

nNumEntries
Specifica il numero di voci nella tavolozza dopo il ridimensionamento.

Valore restituito

Diverso da zero se la tavolozza è stata ridimensionata correttamente; in caso contrario, 0.

Osservazioni:

Se un'applicazione chiama ResizePalette per ridurre le dimensioni della tavolozza, le voci rimanenti nella tavolozza ridimensionata rimangono invariate. Se l'applicazione chiama ResizePalette per ingrandire la tavolozza, le voci aggiuntive della tavolozza vengono impostate su nero (i valori rosso, verde e blu sono tutti 0) e i flag per tutte le voci aggiuntive vengono impostati su 0.

Per altre informazioni sull'API ResizePaletteWindows, vedere ResizePalette in Windows SDK.

CPalette::SetPaletteEntries

Imposta i valori e i flag di colore RGB in un intervallo di voci in una tavolozza logica.

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

Parametri

nStartIndex
Specifica la prima voce della tavolozza logica da impostare.

nNumEntries
Specifica il numero di voci nella tavolozza logica da impostare.

lpPaletteColors
Punta a una matrice di strutture di dati PALETTEENTRY per ricevere le voci della tavolozza. La matrice deve contenere almeno il numero di strutture di dati specificate da nNumEntries.

Valore restituito

Numero di voci impostate nella tavolozza logica; 0 se la funzione non è riuscita.

Osservazioni:

Se la tavolozza logica viene selezionata in un contesto di dispositivo quando l'applicazione chiama SetPaletteEntries, le modifiche non avranno effetto finché l'applicazione non chiama CDC::RealizePalette.

Per altre informazioni, vedere PALETTEENTRY in Windows SDK.

Vedi anche

DIBLOOK di esempio MFC
Classe CGdiObject
Grafico della gerarchia
CPalette::GetPaletteEntries
CPalette::SetPaletteEntries