CMFCColorMenuButton-Klasse

Die CMFCColorMenuButton-Klasse unterstützt einen Menübefehl oder eine Symbolleisten-Schaltfläche, die ein Farben-Auswahldialogfeld startet.

class CMFCColorMenuButton : public CMFCToolBarMenuButton

Mitglieder

Bb983045.collapse_all(de-de,VS.110).gifÖffentliche Konstruktoren

Name

Description

CMFCColorMenuButton::CMFCColorMenuButton

Erstellt ein CMFCColorMenuButton-Objekt.

Bb983045.collapse_all(de-de,VS.110).gifÖffentliche Methoden

Name

Description

CMFCColorMenuButton::EnableAutomaticButton

Aktiviert und deaktiviert eine "auto" Schaltfläche, die über den regulären Farbenschaltflächen positioniert wird.(Die automatische Schaltfläche des Standardsystems wird Automatisch bezeichnet).

CMFCColorMenuButton::EnableDocumentColors

Aktiviert die Anzeige von Dokumentbesondere Farben anstelle der Systemfarben.

CMFCColorMenuButton::EnableOtherButton

Aktiviert und deaktiviert eine "eine andere" Schaltfläche, die den regulären Farbenschaltflächen positioniert wird.(Das Standardsystem "andere" Schaltfläche wird Weitere Farben... bezeichnet).

CMFCColorMenuButton::EnableTearOff

Aktiviert die Möglichkeit, einen Farbenbereich auseinanderzureißen.

CMFCColorMenuButton::GetAutomaticColor

Ruft die aktuelle automatische Farbe ab.

CMFCColorMenuButton::GetColor

Ruft die aktuelle Farbe der Schaltfläche ab.

CMFCColorMenuButton::GetColorByCmdID

Ruft die Farbe ab, die einer angegebenen Befehl ID entspricht

CMFCColorMenuButton::OnChangeParentWnd

Aufgerufen vom Framework, wenn das übergeordnete Fenster ändert.

CMFCColorMenuButton::OpenColorDialog

Öffnet ein Farben-Auswahldialogfeld.

CMFCColorMenuButton::SetColor

Legt die Farbe der aktuellen Farbenschaltfläche fest.

CMFCColorMenuButton::SetColorByCmdID

Legt die Farbe der angegebenen Farbenmenüschaltfläche fest.

CMFCColorMenuButton::SetColorName

Legt einen neuen Namen für die angegebene Farbe fest.

CMFCColorMenuButton::SetColumnsNumber

Legt die Anzahl von Spalten fest, die von einem CMFCColorBar-Objekt angezeigt werden.

Bb983045.collapse_all(de-de,VS.110).gifGeschützte Methoden

Name

Description

CMFCColorMenuButton::CopyFrom

Kopiert eine andere Symbolleisten-Schaltfläche zur aktuellen Schaltfläche.

CMFCColorMenuButton::CreatePopupMenu

Stellt ein Farben-Auswahldialogfeld erstellt.

CMFCColorMenuButton::IsEmptyMenuAllowed

Gibt an, ob leere Menüs unterstützt werden.

CMFCColorMenuButton::OnDraw

Aufgerufen vom Framework, um ein Bild auf einer Schaltfläche anzuzeigen.

CMFCColorMenuButton::OnDrawOnCustomizeList

Aufgerufen vom Framework, bevor ein CMFCColorMenuButton-Objekt in der Liste eines Symbolleistenanpassungsdialogfelds angezeigt wird.

Hinweise

Um den ursprünglichen Menübefehl oder die Symbolleistenschaltfläche durch ein CMFCColorMenuButton-Objekt zu ersetzen, erstellen Sie das CMFCColorMenuButton-Objekt, legen Sie alle entsprechenden CMFCColorBar-Klasse Stile fest, und rufen Sie dann die Methode der Klasse ReplaceButtonCMFCToolBar-Klasse auf.Wenn Sie eine Symbolleiste anpassen, rufen Sie die CMFCToolBarsCustomizeDialog::ReplaceButton-Methode auf.

Das Farben-Auswahldialogfeld wird während der Verarbeitung des CMFCColorMenuButton::CreatePopupMenu-Ereignishandler erstellt.Der Ereignishandler wird der übergeordneten Frames mit einer WM_COMMAND Meldung.Das CMFCColorMenuButton-Objekt sendet die Steuerelement-ID, die dem ursprünglichen Menübefehl oder die Symbolleistenschaltfläche zugewiesen wird.

Beispiel

Das folgende Beispiel zeigt, wie eine Farbenmenüschaltfläche erstellt und konfiguriert, indem verschiedene Methoden in der CMFCColorMenuButton-Klasse angewendet wird.Im Beispiel wird ein CPalette-Objekt zuerst und anschließend erstellt, um ein Objekt der CMFCColorMenuButton-Klasse zu erstellen.Das CMFCColorMenuButton-Objekt wird dann konfiguriert, indem die automatischen und anderen Schaltflächen aktiviert, und die Farbe und die Anzahl der Spalten festgelegt wird.Dieser Code ist Teil Word-Auflagenbeispiel.

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

Vererbungshierarchie

CObject

   CMFCToolBarButton

      CMFCToolBarMenuButton

         CMFCColorMenuButton

Anforderungen

Header: afxcolormenubutton.h

Siehe auch

Referenz

Hierarchien-Diagramm

CMFCColorBar-Klasse

CMFCToolBar-Klasse

CMFCToolBarsCustomizeDialog-Klasse

CMFCColorButton-Klasse

Weitere Ressourcen

MFC-Klassen