Classe CMFCColorMenuButton
A classe de CMFCColorMenuButton suporta um comando de menu ou um botão da barra de ferramentas que ligue uma caixa de diálogo seletor de cor.
class CMFCColorMenuButton : public CMFCToolBarMenuButton
Membros
Construtores public
Nome |
Descrição |
---|---|
Constrói um objeto de CMFCColorMenuButton . |
Métodos públicos
Nome |
Descrição |
---|---|
Ativar e desativar um botão “automático” que está localizado acima dos botões normais de cor. (O botão automático do sistema padrão é rotulado Automático.) |
|
Permite que a exibição de cores a específicas em vez de cores do sistema. |
|
Ativar e desativar um “outro” botão que está localizado abaixo dos botões normais de cor. (O sistema padrão “outro” botão é rotulado Cores mais….) |
|
Permite que a capacidade de rasgar fora um painel de cor. |
|
Recupera a cor automático atual. |
|
Recupera a cor atual do botão. |
|
Recupera a cor que corresponde a um certo ID de comando |
|
Chamado pela estrutura quando a janela pai alterar. |
|
Abrir uma caixa de diálogo de seleção de cor. |
|
Define a cor do botão atual da cor. |
|
Define a cor do botão especificado no menu de cor. |
|
Define um novo nome para a cor especificada. |
|
Define o número de colunas que são exibidas por um objeto de CMFCColorBar . |
Métodos protegidos
Nome |
Descrição |
---|---|
Copia outro botão da barra de ferramentas para o botão atual. |
|
Cria uma caixa de diálogo seletor de cor. |
|
Indica se os menus vazias são suportados. |
|
Chamado pela estrutura para exibir uma imagem em um botão. |
|
Chamado pela estrutura antes que um objeto de CMFCColorMenuButton é exibido na lista de uma caixa de diálogo de personalização da barra de ferramentas. |
Comentários
Para substituir o comando de menu ou no botão da barra de ferramentas original com um objeto de CMFCColorMenuButton , cria o objeto de CMFCColorMenuButton , define estilos apropriadas de Classe CMFCColorBar em seguida, chame o método de ReplaceButton da classe de Classe CMFCToolBar . Se você personaliza uma barra de ferramentas, chame o método de CMFCToolBarsCustomizeDialog::ReplaceButton .
A caixa de diálogo seletor de cores é criada durante o processamento do manipulador de eventos de CMFCColorMenuButton::CreatePopupMenu . O manipulador de eventos notifica o elemento pai com uma mensagem de WM_COMMAND . O objeto de CMFCColorMenuButton envia a identificação do controle que é atribuído ao comando de menu ou para o botão da barra de ferramentas original.
Exemplo
O exemplo a seguir demonstra como criar e configurar um botão de menu de cores usando vários métodos na classe de CMFCColorMenuButton . Em o exemplo, um objeto de CPalette é projetado principalmente e então usado para construir um objeto da classe de CMFCColorMenuButton . O objeto de CMFCColorMenuButton é configurado em seu ativação automática e outros botões, e definindo sua cor e o número de colunas. Esse código é parte de Exemplo de preenchimento da palavra.
CPalette m_palColorPicker; // Palette for color picker
int m_nNumColours;
...
CMFCColorMenuButton* CFormatBar::CreateColorButton ()
{
if (m_palColorPicker.GetSafeHandle () == NULL)
{
m_nNumColours = sizeof (crColours)/sizeof(ColourTableEntry);
ASSERT(m_nNumColours <= MAX_COLOURS);
if (m_nNumColours > MAX_COLOURS)
m_nNumColours = MAX_COLOURS;
// Create the palette
struct
{
LOGPALETTE LogPalette;
PALETTEENTRY PalEntry[MAX_COLOURS];
}pal;
LOGPALETTE* pLogPalette = (LOGPALETTE*) &pal;
pLogPalette->palVersion = 0x300;
pLogPalette->palNumEntries = (WORD) m_nNumColours;
for (int i = 0; i < m_nNumColours; i++)
{
pLogPalette->palPalEntry[i].peRed = GetRValue(crColours[i].crColour);
pLogPalette->palPalEntry[i].peGreen = GetGValue(crColours[i].crColour);
pLogPalette->palPalEntry[i].peBlue = GetBValue(crColours[i].crColour);
pLogPalette->palPalEntry[i].peFlags = 0;
}
m_palColorPicker.CreatePalette (pLogPalette);
}
CMFCColorMenuButton* pColorButton = new
CMFCColorMenuButton (ID_CHAR_COLOR, _T("Text Color..."), &m_palColorPicker);
pColorButton->EnableAutomaticButton (_T("Automatic"), RGB (0, 0, 0));
pColorButton->EnableOtherButton (_T("More Colors..."));
pColorButton->EnableDocumentColors (_T("Document's Colors"));
pColorButton->EnableTearOff (ID_COLOR_TEAROFF, 5, 2);
pColorButton->SetColumnsNumber (8);
pColorButton->SetColor(RGB(0,0,255));
// Initialize color names:
for (int i = 0; i < m_nNumColours; i++)
{
CMFCColorMenuButton::SetColorName (crColours[i].crColour, crColours[i].szName);
}
return pColorButton;
}
Hierarquia de herança
Requisitos
Cabeçalho: afxcolormenubutton.h
Consulte também
Referência
Classe CMFCToolBarsCustomizeDialog