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.
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