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 CPalette
di , vedere Oggetti grafici.
Gerarchia di ereditarietà
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 ResizePalette
Windows, 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