Compartilhar via


Classe de 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

Bb983045.collapse_all(pt-br,VS.110).gifConstrutores public

Nome

Descrição

CMFCColorMenuButton::CMFCColorMenuButton

Constrói um objeto de CMFCColorMenuButton .

Bb983045.collapse_all(pt-br,VS.110).gifMétodos públicos

Nome

Descrição

CMFCColorMenuButton::EnableAutomaticButton

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

CMFCColorMenuButton::EnableDocumentColors

Permite que a exibição de cores a específicas em vez de cores do sistema.

CMFCColorMenuButton::EnableOtherButton

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

CMFCColorMenuButton::EnableTearOff

Permite que a capacidade de rasgar fora um painel de cor.

CMFCColorMenuButton::GetAutomaticColor

Recupera a cor automático atual.

CMFCColorMenuButton::GetColor

Recupera a cor atual do botão.

CMFCColorMenuButton::GetColorByCmdID

Recupera a cor que corresponde a um certo ID de comando

CMFCColorMenuButton::OnChangeParentWnd

Chamado pela estrutura quando a janela pai alterar.

CMFCColorMenuButton::OpenColorDialog

Abrir uma caixa de diálogo de seleção de cor.

CMFCColorMenuButton::SetColor

Define a cor do botão atual da cor.

CMFCColorMenuButton::SetColorByCmdID

Define a cor do botão especificado no menu de cor.

CMFCColorMenuButton::SetColorName

Define um novo nome para a cor especificada.

CMFCColorMenuButton::SetColumnsNumber

Define o número de colunas que são exibidas por um objeto de CMFCColorBar .

Bb983045.collapse_all(pt-br,VS.110).gifMétodos protegidos

Nome

Descrição

CMFCColorMenuButton::CopyFrom

Copia outro botão da barra de ferramentas para o botão atual.

CMFCColorMenuButton::CreatePopupMenu

Cria uma caixa de diálogo seletor de cor.

CMFCColorMenuButton::IsEmptyMenuAllowed

Indica se os menus vazias são suportados.

CMFCColorMenuButton::OnDraw

Chamado pela estrutura para exibir uma imagem em um botão.

CMFCColorMenuButton::OnDrawOnCustomizeList

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 de CMFCColorBar em seguida, chame o método de ReplaceButton da classe de Classe de 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

CObject

   CMFCToolBarButton

      CMFCToolBarMenuButton

         CMFCColorMenuButton

Requisitos

Cabeçalho: afxcolormenubutton.h

Consulte também

Referência

Gráfico de hierarquia

Classe de CMFCColorBar

Classe de CMFCToolBar

Classe de CMFCToolBarsCustomizeDialog

Classe de CMFCColorButton

Outros recursos

Classes MFC