Partilhar via


Classe CMFCColorButton

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.

As CMFCColorButton classes e as classes CMFCColorBar são usadas em conjunto para implementar um controlo de seletor de cor.

Sintaxe

class CMFCColorButton : public CMFCButton

Membros

Construtores Públicos

Nome Description
CMFCColorButton::CMFCColorButton Constrói um novo CMFCColorButton objeto.

Métodos Públicos

Nome Description
CMFCColorButton::EnableAutomaticButton Ativa e desativa um botão "automático" que está posicionado acima dos botões de cor normais. (O botão automático padrão do sistema é rotulado como Automático.)
CMFCColorButton::EnableOtherButton Ativa e desativa um botão "outro" que está posicionado abaixo dos botões de cor regular. (O botão padrão "outro" do sistema é rotulado como Mais Cores.)
CMFCColorButton::GetAutomaticColor Recupera a cor automática atual.
CMFCColorButton::GetColor Recupera a cor de um botão.
CMFCColorButton::SetColor Define a cor de um botão.
CMFCColorButton::SetColorName Define um nome de cor.
CMFCColorButton::SetColumnsNumber Define o número de colunas na caixa de diálogo do seletor de cores.
CMFCColorButton::SetDocumentColors Especifica uma lista de cores específicas do documento que são exibidas na caixa de diálogo do seletor de cores.
CMFCColorButton::SetPalette Especifica uma paleta de cores padrão para o ecrã.
CMFCColorButton::TamanhoToConteúdo Altera o tamanho do controlo do botão, dependendo do texto e do tamanho da imagem.

Métodos Protegidos

Nome Description
CMFCColorButton::IsDrawXPTheme Indica se o botão de cor atual está apresentado no estilo visual do Windows XP.
CMFCColorButton::OnDraw Chamado pelo framework para mostrar uma imagem do botão.
CMFCColorButton::OnDrawBorder Chamado pela estrutura para mostrar a borda do botão.
CMFCColorButton::OnDrawFocusRect É chamado pela estrutura para mostrar um retângulo de foco quando o botão tem um foco.
CMFCColorButton::OnShowColorPopup Chamada pela framework quando a caixa de diálogo do seletor de cores está prestes a ser exibida.
CMFCColorButton::RebuildPalette Inicializa o m_pPalette membro de dados protegido na paleta especificada ou na paleta padrão do sistema.
CMFCColorButton::UpdateColor Chamada pelo framework quando o utilizador seleciona uma cor da paleta da caixa de diálogo do seletor de cores.

Membros de Dados

Nome Description
m_bAltColorDlg Um Booleano. Se for TRUE, o framework mostra a caixa de diálogo de cores CMFCColorDialog quando o outro botão é carregado, ou se FALSE, a caixa de diálogo de cor do sistema. O valor padrão é VERDADEIRO. Para mais informações, consulte CMFCColorButton::EnableOtherButton.
m_bAutoSetFocus Um Booleano. Se TRUE, a framework define o foco no menu de cores quando o menu é exibido, ou se FALSE, não altera o foco. O valor padrão é VERDADEIRO.
CMFCColorButton::m_bEnabledInCustomizeMode Indica se o modo de personalização está ativado para o botão de cor.
m_Color Um valor COLORREF . Contém a cor atualmente selecionada.
m_ColorAutomatic Um valor COLORREF . Contém a cor padrão atualmente selecionada.
m_Colors Um CArray de valores COLORREF . Contém as cores atualmente disponíveis.
m_lstDocColors Um CList de valores COLORREF . Contém as cores atuais do documento.
m_nColumns Um inteiro. Contém o número de colunas a mostrar na grelha de cores num menu de seleção de cores.
m_pPalette Um apontador para uma CPalette. Contém as cores disponíveis no menu atual de seleção de cores.
m_pPopup Um apontador para um objeto CMFCColorPopupMenu Class . O menu de seleção de cores que aparece quando clicas no botão de cor.
m_strAutoColorText Uma cadeia de caracteres. O rótulo do botão "automático" num menu de seleção de cores.
m_strDocColorsText Uma cadeia de caracteres. A etiqueta do botão num menu de seleção de cores que mostra as cores do documento.
m_strOtherText Uma cadeia de caracteres. A etiqueta do botão "outro" num menu de seleção de cores.

Observações

Por defeito, a CMFCColorButton classe comporta-se como um botão que abre uma caixa de diálogo do seletor de cores. A caixa de diálogo do seletor de cores contém uma variedade de pequenos botões de cor e um botão "outro" que mostra um seletor de cor personalizado. (O botão padrão "outro" do sistema é rotulado como Mais Cores.) Quando um utilizador seleciona uma nova cor, o CMFCColorButton objeto reflete a alteração e mostra a cor selecionada.

Cria um controlo de botão de cor, seja diretamente no teu código, ou usando a ferramenta ClassWizard e um modelo de caixa de diálogo. Se criares um controlo de botão de cor diretamente, adiciona uma CMFCColorButton variável à tua aplicação e depois chama o construtor e Create os métodos do CMFCColorButton objeto. Se usar o ClassWizard, adicione uma CButton variável à sua aplicação e depois altere o tipo da variável de CButton para CMFCColorButton.

A caixa de diálogo do seletor de cores ( CMFCColorBar Class) é exibida pelo método CMFCColorButton::OnShowColorPopup quando o framework chama o OnLButtonDown gestor de eventos. O método CMFCColorButton::OnShowColorPopup pode ser sobreposto para suportar seleção de cor personalizada.

O CMFCColorButton objeto notifica o seu pai de que uma cor está a mudar enviando-lhe uma WM_COMMAND | BN_CLICKED notificação. O pai utiliza o método CMFCColorButton::GetColor para recuperar a cor atual.

Example

O exemplo seguinte demonstra como configurar um botão de cor usando vários métodos na CMFCColorButton aula. Os métodos definem a cor do botão de cor e o número de colunas, e ativam o botão automático e os outros botões. Este exemplo faz parte do exemplo Status Bar Demo.

CMFCColorButton m_wndTextColor;
m_wndTextColor.EnableAutomaticButton(_T("Default"), afxGlobalData.clrBtnText);
m_wndTextColor.EnableOtherButton(_T("Other..."));
m_wndTextColor.SetColor((COLORREF)-1);
m_wndTextColor.SetColorName((COLORREF)-1, "Default Color");
m_wndTextColor.SetColumnsNumber(3);

Requerimentos

Cabeçalho: afxcolorbutton.h

CMFCColorButton::CMFCColorButton

Constrói um novo CMFCColorButton objeto.

CMFCColorButton();

CMFCColorButton::EnableAutomaticButton

Ative ou desative o botão "automático" de um controlo de seletor de cor e defina a cor automática (por defeito).

void EnableAutomaticButton(
    LPCTSTR lpszLabel,
    COLORREF colorAutomatic,
    BOOL bEnable=TRUE);

Parâmetros

lpszLabel
[dentro] Especifica o texto do botão automático.

colorAutomatic
[dentro] Um valor RGB que especifica a cor padrão do botão automático.

bEnable
[dentro] Especifica se o botão automático está ativado ou desativado.

Observações

CMFCColorButton::EnableOtherButton

Ativa ou desativa o botão "outro", que aparece abaixo dos botões de cor normais.

void EnableOtherButton(
    LPCTSTR lpszLabel,
    BOOL bAltColorDlg=TRUE,
    BOOL bEnable=TRUE);

Parâmetros

lpszLabel
[dentro] Especifica o texto do botão.

bAltColorDlg
[dentro] Especifica se a caixa de diálogo CMFCColorDialog ou a caixa de diálogo de cor do sistema é aberta quando o utilizador clica no botão.

bEnable
[dentro] Especifica se o botão "outro" está ativado ou desativado.

Observações

Clica no botão "outro" para mostrar uma caixa de diálogo a cores. Se o parâmetro bAltColorDlg for TRUE, a Classe CMFCColorDialog é apresentada; caso contrário, a caixa de diálogo de cor do sistema é exibida.

CMFCColorButton::GetAutomaticColor

Recupera a cor automática (predefinida) atual.

COLORREF GetAutomaticColor() const;

Valor de retorno

Um valor RGB que representa a cor automática atual.

Observações

A cor automática atual é definida pelo método CMFCColorButton::EnableAutomaticButton .

CMFCColorButton::GetColor

Recupera a cor atualmente selecionada.

COLORREF GetColor() const;

Valor de retorno

Um valor RGB.

Observações

CMFCColorButton::IsDrawXPTheme

Indica se o botão de cor atual está apresentado no estilo visual do Windows XP.

BOOL IsDrawXPTheme() const;

Valor de retorno

TRUE se forem suportados estilos visuais e o botão de cor atual for exibido no estilo visual do Windows XP; caso contrário, FALSO.

CMFCColorButton::m_bEnabledInCustomizeMode

Define um botão de cor para o modo de personalização.

BOOL m_bEnabledInCustomizeMode;

Observações

Se precisar de adicionar um botão de cor à página de um diálogo de personalização (ou permitir que o utilizador faça outra seleção de cor durante a personalização), ative o botão definindo o m_bEnabledInCustomizeMode membro para TRUE. Por defeito, este membro está definido como FALSE.

CMFCColorButton::OnDraw

É chamado pelo framework para renderizar uma imagem do botão.

virtual void OnDraw(
    CDC* pDC,
    const CRect& rect,
    UINT uiState);

Parâmetros

pDC
[dentro] Aponta para o contexto do dispositivo que é usado para renderizar a imagem do botão.

retângulo
[dentro] Um retângulo que delimita o botão.

uiState
[dentro] Especifica o estado visual do botão.

Observações

Substitua este método para personalizar o processo de renderização.

CMFCColorButton::OnDrawBorder

Chamado pela estrutura para mostrar a borda do botão.

virtual void OnDrawBorder(
    CDC* pDC,
    CRect& rectClient,
    UINT uiState);

Parâmetros

pDC
[dentro] Aponta para o contexto do dispositivo usado para desenhar a fronteira.

rectClient
[dentro] Um retângulo no contexto do dispositivo especificado pelo parâmetro pDC que define os limites do botão a desenhar.

uiState
[dentro] Especifica o estado visual do botão.

Observações

Anule esta função para personalizar a aparência da borda do botão de cor.

CMFCColorButton::OnDrawFocusRect

Chamado pela estrutura para mostrar um retângulo de foco quando o botão tem foco.

virtual void OnDrawFocusRect(
    CDC* pDC,
    const CRect& rectClient);

Parâmetros

pDC
[dentro] Aponta para o contexto do dispositivo usado para desenhar o retângulo de foco.

rectClient
[dentro] Um retângulo no contexto do dispositivo especificado pelo parâmetro pDC que define os limites do botão.

Observações

Substitua este método para personalizar a aparência do retângulo de foco.

CMFCColorButton::OnShowColorPopup

É ligado antes de a barra de cores pop-up aparecer.

virtual void OnShowColorPopup();

Observações

CMFCColorButton::RebuildPalette

Inicializa o m_pPalette membro de dados protegido na paleta especificada ou na paleta padrão do sistema.

void RebuildPalette(CPalette* pPal);

Parâmetros

pPal
[dentro] Um apontador para uma paleta lógica ou NULL. Se for NULL, usa-se a paleta padrão do sistema.

CMFCColorButton::SetColor

Especifica a cor do botão.

void SetColor(COLORREF color);

Parâmetros

cor
[dentro] Um valor RGB.

Observações

CMFCColorButton::SetColorName

Especifica o nome de uma cor.

static void SetColorName(
    COLORREF color,
    const CString& strName);

Parâmetros

cor
[dentro] O valor RGB da cor.

strName
[dentro] O nome da cor.

Observações

A lista de nomes de cores é global por aplicação. Consequentemente, este método transfere os seus parâmetros para CMFCColorBar::SetColorName.

CMFCColorButton::SetColumnsNumber

Define o número de colunas que são apresentadas na tabela de cores apresentada ao utilizador durante o processo de seleção de cores.

void SetColumnsNumber(int nColumns);

Parâmetros

nColunas
[dentro] Especifica o número de colunas.

Observações

O utilizador pode selecionar uma cor a partir de uma barra de cores pop-up que apresenta uma tabela de cores predefinidas. Use este método para definir o número de colunas na tabela.

CMFCColorButton::SetDocumentColors

Especifica um conjunto de cores e o nome do conjunto. O conjunto de cores é exibido usando um objeto CMFCColorBar Class .

void SetDocumentColors(
    LPCTSTR lpszLabel,
    CList<COLORREF,COLORREF>& lstColors);

Parâmetros

lpszLabel
[dentro] Especifica a etiqueta a ser exibida com o conjunto de cores do documento.

lstColors
[dentro] Uma referência a uma lista de valores RGB.

Observações

Um CMFCColorButton objeto mantém uma lista de valores RGB que são transferidos para um objeto da Classe CMFCColorBar . Quando a barra de cor é apresentada, estas cores são mostradas numa secção especial cujo rótulo é especificado pelo parâmetro lpszLabel .

CMFCColorButton::SetPalette

Especifica as cores padrão a mostrar na barra de cores pop-up.

void SetPalette(CPalette* pPalette);

Parâmetros

pPalette
[dentro] Um apontador para uma paleta de cores.

Observações

CMFCColorButton::TamanhoToConteúdo

Redimensiona o controlo dos botões para se ajustar ao texto e à imagem.

virtual CSize SizeToContent(BOOL bCalcOnly=FALSE);

Parâmetros

bCalcOnly
[dentro] Se não ser zero, o novo tamanho do controlo do botão é calculado, mas o tamanho real não é alterado.

Valor de retorno

Um objeto que especifica um novo tamanho de CSize controlo de botão.

Observações

CMFCColorButton::UpdateColor

Chamada pela framework quando o utilizador seleciona uma cor da barra de cores que aparece quando o utilizador clica no botão de cor.

virtual void UpdateColor(COLORREF color);

Parâmetros

cor
[dentro] Uma cor selecionada pelo utilizador.

Observações

A UpdateColor função altera a cor do botão atualmente selecionado e notifica o seu pai enviando uma mensagem WM_COMMAND com uma notificação BN_CLICKED padrão. Use o método CMFCColorButton::GetColor para obter a cor selecionada.

Consulte também

Gráfico de Hierarquia
Classes
Classe CMFCButton
Classe CMFCColorBar
CMFCColorButton::OnShowColorPopup
COLORREF
Classe CPalette
Classe CArray
Aula de CList
CString