Sdílet prostřednictvím


Třída CMFCColorMenuButton

CMFCColorMenuButton Třída podporuje příkaz nabídky nebo tlačítko panelu nástrojů, které spustí dialogové okno pro výběr barvy.

class CMFCColorMenuButton : public CMFCToolBarMenuButton

Členy

Bb983045.collapse_all(cs-cz,VS.110).gifVeřejné konstruktory

Název

Description

CMFCColorMenuButton::CMFCColorMenuButton

Konstrukce CMFCColorMenuButton objektu.

Bb983045.collapse_all(cs-cz,VS.110).gifVeřejné metody

Název

Description

CMFCColorMenuButton::EnableAutomaticButton

Povolí nebo zakáže "Automatické" tlačítko, umístěný nad tlačítky normální barvy.(Tlačítko Automatické standardní systém jmenuje Automatické.)

CMFCColorMenuButton::EnableDocumentColors

Umožňuje zobrazení barvy specifické pro dokument systémové barvy.

CMFCColorMenuButton::EnableOtherButton

Povolí nebo zakáže "jiné" tlačítko je umístěn pod tlačítky normální barvy.(Standardní systém "jiné" tlačítko jmenuje Další barvy....)

CMFCColorMenuButton::EnableTearOff

Umožňuje odtrhnout podokno Barva.

CMFCColorMenuButton::GetAutomaticColor

Načte aktuální Automatická barva.

CMFCColorMenuButton::GetColor

Načte aktuální tlačítko Barva.

CMFCColorMenuButton::GetColorByCmdID

Barva, která odpovídá ID zadaný příkaz načte

CMFCColorMenuButton::OnChangeParentWnd

Rámci vyvolána při změně nadřazené okno.

CMFCColorMenuButton::OpenColorDialog

Otevře dialogové okno pro výběr barvy.

CMFCColorMenuButton::SetColor

Nastaví barvu tlačítka aktuální barva.

CMFCColorMenuButton::SetColorByCmdID

Nastaví barvu tlačítka nabídky určené barvy.

CMFCColorMenuButton::SetColorName

Nastaví nový název pro zadané barvě.

CMFCColorMenuButton::SetColumnsNumber

Nastaví počet sloupců, které jsou zobrazeny CMFCColorBar objektu.

Bb983045.collapse_all(cs-cz,VS.110).gifChráněné metody

Název

Description

CMFCColorMenuButton::CopyFrom

Zkopíruje aktuální tlačítko jiného tlačítka panelu nástrojů.

CMFCColorMenuButton::CreatePopupMenu

Vytvoří dialogové okno pro výběr barvy.

CMFCColorMenuButton::IsEmptyMenuAllowed

Označuje, zda jsou nabídky prázdné.

CMFCColorMenuButton::OnDraw

Volat rámec pro zobrazení obrázku na tlačítku.

CMFCColorMenuButton::OnDrawOnCustomizeList

V rámci před názvem CMFCColorMenuButton objektu se zobrazí v seznamu dialogového okna Vlastní nastavení panelu nástrojů.

Poznámky

Nahradit původní nabídce příkaz nebo tlačítko panelu nástrojů s CMFCColorMenuButton objekt, vytvořit CMFCColorMenuButton objektu nastavit vhodné Třída CMFCColorBar styly a pak volání ReplaceButton metodu Třída CMFCToolBar třídy.Je-li panel nástrojů přizpůsobit, kontaktujte CMFCToolBarsCustomizeDialog::ReplaceButton metoda.

V dialogovém okně Výběr barvy je vytvořena během zpracování CMFCColorMenuButton::CreatePopupMenu obslužnou rutinu události.Nadřazený rámec s upozorní obsluhu události WM_COMMAND zprávy. CMFCColorMenuButton Objekt odešle ID ovládacího prvku přiřazený původní nabídce příkaz nebo tlačítko panelu nástrojů.

Příklad

Následující příklad ukazuje, jak vytvořit a konfigurovat tlačítka nabídky barev pomocí různých metod v CMFCColorMenuButton třídy.V příkladu CPalette objekt je vytvořen a pak použít k vytvoření objektu CMFCColorMenuButton třídy. CMFCColorMenuButton Objektu je nakonfigurována umožňující jeho automatické a ostatní tlačítka a nastavením její barvu a počet sloupců.Tento kód je součástí Word Pad vzorku.

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

Hierarchii dědičnosti

CObject

   CMFCToolBarButton

      CMFCToolBarMenuButton

         CMFCColorMenuButton

Požadavky

Záhlaví: afxcolormenubutton.h

Viz také

Referenční dokumentace

Diagram hierarchie

Třída CMFCColorBar

Třída CMFCToolBar

Třída CMFCToolBarsCustomizeDialog

Třída CMFCColorButton

Další zdroje

Třídy MFC