Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Encapsula uma paleta de cores do Windows.
Sintaxe
class CPalette : public CGdiObject
Membros
Construtores Públicos
| Nome | Description |
|---|---|
| CPalette::CPalette | Constrói um CPalette objeto sem paleta Windows associada. Deve inicializar o CPalette objeto com uma das funções membros de inicialização antes de poder ser usado. |
Métodos Públicos
| Nome | Description |
|---|---|
| CPalette::AnimatePalette | Substitui as entradas na paleta lógica identificada pelo CPalette objeto. A aplicação não precisa de atualizar a sua área de cliente, porque o Windows mapeia imediatamente as novas entradas para a paleta do sistema. |
| CPalette::CriarHalftonePalette | Cria uma paleta de meio-tons para o contexto do dispositivo e anexa-a ao CPalette objeto. |
| CPalette::CreatePalette | Cria uma paleta de cores do Windows e anexa-a ao CPalette objeto. |
| CPalette::FromHandle | Devolve um ponteiro para um CPalette objeto quando lhe é atribuído um handle a um objeto da paleta do Windows. |
| CPalette::GetEntryCount | Recupera o número de entradas de paleta numa paleta lógica. |
| CPalette::GetNearestPaletteIndex | Devolve o índice da entrada na paleta lógica que mais se aproxima de um valor de cor. |
| CPalette::GetPaletteEntries | Recupera um conjunto de entradas de paleta numa paleta lógica. |
| CPalette::RedimensionPalette | Altera o tamanho da paleta lógica especificada pelo CPalette objeto para o número especificado de entradas. |
| CPalette::SetPaletteEntries | Define valores de cor RGB e flags numa variedade de entradas numa paleta lógica. |
Operadores Públicos
| Nome | Description |
|---|---|
| CPalette::operator HPALETTE | Devolve o HPALETTE ligado ao CPalette. |
Observações
Uma paleta fornece uma interface entre uma aplicação e um dispositivo de saída de cor (como um dispositivo de visualização). A interface permite à aplicação tirar pleno proveito das capacidades de cor do dispositivo de saída sem interferir severamente com as cores exibidas por outras aplicações. O Windows utiliza a paleta lógica da aplicação (uma lista de cores necessárias) e a paleta do sistema (que define as cores disponíveis) para determinar as cores utilizadas.
Um CPalette objeto fornece funções de membro para manipular a paleta referida pelo objeto. Construir um CPalette objeto e usar as suas funções membros para criar a paleta real, um objeto de interface de dispositivo gráfico (GDI) e para manipular as suas entradas e outras propriedades.
Para mais informações sobre a utilização CPalettede , veja Objetos Gráficos.
Hierarquia de herança
CPalette
Requerimentos
Cabeçalho: afxwin.h
CPalette::AnimatePalette
Substitui as entradas na paleta lógica associada ao CPalette objeto.
void AnimatePalette(
UINT nStartIndex,
UINT nNumEntries,
LPPALETTEENTRY lpPaletteColors);
Parâmetros
nStartIndex
Especifica a primeira entrada da paleta a ser animada.
nNumEntradas
Especifica o número de entradas na paleta a serem animadas.
lpPaletteCores
Aponta para o primeiro membro de um array de estruturas PALETTEENTRY para substituir as entradas da paleta identificadas por nStartIndex e nNumEntrries.
Observações
Quando uma aplicação chama AnimatePalette, não precisa de atualizar a sua área do cliente, porque o Windows mapeia imediatamente as novas entradas para a paleta do sistema.
A AnimatePalette função só altera as entradas com a PC_RESERVED flag definida no membro correspondente palPaletteEntry da estrutura LOGPALETTE que está associada ao CPalette objeto. Consulte LOGPALETTE no SDK do Windows para mais informações sobre esta estrutura.
CPalette::CPalette
Constrói um CPalette objeto.
CPalette();
Observações
O objeto não tem paleta anexada até que chames CreatePalette para anexar uma.
CPalette::CriarHalftonePalette
Cria uma paleta de meio-tons para o contexto do dispositivo.
BOOL CreateHalftonePalette(CDC* pDC);
Parâmetros
pDC
Identifica o contexto do dispositivo.
Valor de retorno
Diferente de zero se a função for bem-sucedida; caso contrário, 0.
Observações
Uma aplicação deve criar uma paleta de semitons quando o modo de alongamento do contexto de um dispositivo está definido para MEIO-tom. A paleta lógica de semitons devolvida pela função membro CreateHalftonePalette deve então ser selecionada e realizada no contexto do dispositivo antes de a função CDC::StretchBlt ou StretchDIBits ser chamada.
Consulte o SDK do Windows para mais informações sobre CreateHalftonePalette e StretchDIBits.
CPalette::CreatePalette
Inicializa um CPalette objeto criando uma paleta de cores lógica do Windows e anexando-a ao CPalette objeto.
BOOL CreatePalette(LPLOGPALETTE lpLogPalette);
Parâmetros
lpLogPalette
Aponta para uma estrutura LOGPALETTE que contém informação sobre as cores na paleta lógica.
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
Consulte o SDK do Windows para mais informações sobre a LOGPALETTE estrutura.
CPalette::FromHandle
Devolve um ponteiro para um CPalette objeto quando lhe é atribuído um handle a um objeto da paleta do Windows.
static CPalette* PASCAL FromHandle(HPALETTE hPalette);
Parâmetros
hPalette
Um handle para uma paleta de cores do Windows GDI.
Valor de retorno
Um apontador para um CPalette objeto se for bem-sucedido; caso contrário, NULL.
Observações
Se um CPalette objeto ainda não estiver associado à paleta Windows, um objeto temporário CPalette é criado e anexado. Este objeto temporário CPalette é válido apenas até à próxima vez que a aplicação tiver tempo de inatividade no seu ciclo de eventos, altura em que todos os objetos gráficos temporários são eliminados. Por outras palavras, o objeto temporário é válido apenas durante o processamento de uma mensagem de janela.
CPalette::GetEntryCount
Chame esta função membro para recuperar o número de entradas numa dada paleta lógica.
int GetEntryCount();
Valor de retorno
Número de entradas numa paleta lógica.
CPalette::GetNearestPaletteIndex
Devolve o índice da entrada na paleta lógica que mais se aproxima do valor de cor especificado.
UINT GetNearestPaletteIndex(COLORREF crColor) const;
Parâmetros
crColor
Especifica a cor a ser correspondida.
Valor de retorno
O índice de uma entrada numa paleta lógica. A entrada contém a cor que mais se aproxima da cor especificada.
CPalette::GetPaletteEntries
Recupera um conjunto de entradas de paleta numa paleta lógica.
UINT GetPaletteEntries(
UINT nStartIndex,
UINT nNumEntries,
LPPALETTEENTRY lpPaletteColors) const;
Parâmetros
nStartIndex
Especifica a primeira entrada na paleta lógica a ser recuperada.
nNumEntradas
Especifica o número de entradas na paleta lógica a serem recuperadas.
lpPaletteCores
Aponta para um array de estruturas de dados PALETTEENTRY para receber as entradas da paleta. O array deve conter pelo menos tantas estruturas de dados especificadas por nNumEntrries.
Valor de retorno
O número de entradas recuperadas da paleta lógica; 0 se a função falhasse.
CPalette::operator HPALETTE
Use este operador para obter o handle Windows GDI associado do CPalette objeto.
operator HPALETTE() const;
Valor de retorno
Se bem-sucedido, um handle para o objeto Windows GDI representado pelo CPalette objeto; caso contrário, NULL.
Observações
Este operador é um operador de casting, que suporta o uso direto de um objeto HPALETTE.
Para mais informações sobre o uso de objetos gráficos, consulte o artigo Objetos Gráficos no Windows SDK.
CPalette::RedimensionPalette
Altera o tamanho da paleta lógica associada ao CPalette objeto para o número de entradas especificadas por nNumEntrries.
BOOL ResizePalette(UINT nNumEntries);
Parâmetros
nNumEntradas
Especifica o número de entradas na paleta após esta ter sido redimensionada.
Valor de retorno
Diferente de zero se a paleta for redimensionada com sucesso; caso contrário, 0.
Observações
Se uma aplicação pedir ResizePalette para reduzir o tamanho da paleta, as entradas restantes na paleta redimensionada mantêm-se inalteradas. Se a aplicação chamar ResizePalette para ampliar a paleta, as entradas adicionais da paleta são definidas para preto (os valores vermelho, verde e azul são todos 0), e as bandeiras para todas as entradas adicionais são definidas para 0.
Para mais informações sobre a API ResizePalettedo Windows, veja ResizePalette no SDK do Windows.
CPalette::SetPaletteEntries
Define valores de cor RGB e flags numa variedade de entradas numa paleta lógica.
UINT SetPaletteEntries(
UINT nStartIndex,
UINT nNumEntries,
LPPALETTEENTRY lpPaletteColors);
Parâmetros
nStartIndex
Especifica a primeira entrada na paleta lógica a ser definida.
nNumEntradas
Especifica o número de entradas na paleta lógica a definir.
lpPaletteCores
Aponta para um array de estruturas de dados PALETTEENTRY para receber as entradas da paleta. O array deve conter pelo menos tantas estruturas de dados especificadas por nNumEntrries.
Valor de retorno
O número de entradas definidas na paleta lógica; 0 se a função falhasse.
Observações
Se a paleta lógica for selecionada para o contexto de um dispositivo quando a aplicação chama SetPaletteEntries, as alterações não terão efeito até que a aplicação chame CDC::RealizePalette.
Para mais informações, consulte PALETTEENTRY no SDK do Windows.
Consulte também
DIBLOOK de Exemplo MFC
Classe CGdiObject
Gráfico de Hierarquia
CPalette::GetPaletteEntries
CPalette::SetPaletteEntries