Compartir a través de


CMFCColorMenuButton Class

La clase de CMFCColorMenuButton admite un comando de menú o un botón de la barra de herramientas que inicia un cuadro de diálogo Selector de colores.

class CMFCColorMenuButton : public CMFCToolBarMenuButton

Members

Constructores públicos

Name

Descripción

CMFCColorMenuButton::CMFCColorMenuButton

Crea un objeto CMFCColorMenuButton.

Métodos públicos

Name

Descripción

CMFCColorMenuButton::EnableAutomaticButton

Habilita y deshabilita un botón “automático” que se coloque sobre los botones de color regulares. (El botón automático de sistema estándar se etiqueta Automático.)

CMFCColorMenuButton::EnableDocumentColors

Permite la presentación de colores documento-específicos en lugar de colores del sistema.

CMFCColorMenuButton::EnableOtherButton

Habilita y deshabilita “other” botón que se coloque debajo de los botones de color regulares. (El sistema estándar de El “other” botón se etiqueta más colores….)

CMFCColorMenuButton::EnableTearOff

Habilita la capacidad de rasgar desactivado un panel de color.

CMFCColorMenuButton::GetAutomaticColor

Recupera el color automático actual.

CMFCColorMenuButton::GetColor

Recupera el color actual del botón.

CMFCColorMenuButton::GetColorByCmdID

Recupera el color que corresponde a un identificador especificada de comando

CMFCColorMenuButton::OnChangeParentWnd

Llamado por el marco cuando la ventana primaria.

CMFCColorMenuButton::OpenColorDialog

Abre un cuadro de diálogo de selección de color.

CMFCColorMenuButton::SetColor

Establece el color del botón en el color actual.

CMFCColorMenuButton::SetColorByCmdID

Establece el color del botón especificado del menú de color.

CMFCColorMenuButton::SetColorName

Establece un nuevo nombre para el color especificado.

CMFCColorMenuButton::SetColumnsNumber

Establece el número de columnas que aparezcan por un objeto de CMFCColorBar .

Métodos protegidos

Name

Descripción

CMFCColorMenuButton::CopyFrom

Copia otro botón de la barra de herramientas para el botón actual.

CMFCColorMenuButton::CreatePopupMenu

Crea un cuadro de diálogo selector de colores.

CMFCColorMenuButton::IsEmptyMenuAllowed

Indica si los menús vacíos se admiten.

CMFCColorMenuButton::OnDraw

Llamado por el marco para mostrar una imagen en un botón.

CMFCColorMenuButton::OnDrawOnCustomizeList

Llamado por el marco antes de que un objeto de CMFCColorMenuButton se muestra en la lista de un cuadro de diálogo personalización de la barra de herramientas.

Comentarios

Para reemplazar el comando de menú o el botón de la barra de herramientas original con un objeto de CMFCColorMenuButton , cree el objeto de CMFCColorMenuButton , establezca cualquier estilo adecuado de CMFCColorBar Class , y llame al método de ReplaceButton de la clase de CMFCToolBar Class . Si personaliza una barra de herramientas, llame al método de CMFCToolBarsCustomizeDialog::ReplaceButton .

El cuadro de diálogo Selector de colores se crea durante el procesamiento del controlador de eventos CMFCColorMenuButton::CreatePopupMenu . El controlador de eventos notifica el cuadro primario con un mensaje de WM_COMMAND . El objeto de CMFCColorMenuButton envía el id. del control que se asigna al comando de menú o el botón de la barra de herramientas original.

Ejemplo

El ejemplo siguiente se muestra cómo crear y configurar un botón de menú de color mediante varios métodos en la clase de CMFCColorMenuButton . En el ejemplo, un objeto de CPalette se crea por primera vez y después se utiliza para construir un objeto de clase de CMFCColorMenuButton . El objeto de CMFCColorMenuButton se configurado habilitar los botones automáticos y otros, y estableciendo el color y el número de columnas. Este código es parte de Ejemplo de pista de word.

    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;
}

Jerarquía de herencia

CObject

   CMFCToolBarButton

      CMFCToolBarMenuButton

         CMFCColorMenuButton

Requisitos

encabezado: afxcolormenubutton.h

Vea también

Referencia

Gráfico de jerarquías

CMFCColorBar Class

CMFCToolBar Class

CMFCToolBarsCustomizeDialog Class

CMFCColorButton Class

Otros recursos

Clases de MFC