Udostępnij za pośrednictwem


Klasa CMFCColorMenuButton

CMFCColorMenuButton Klasy obsługuje polecenie menu lub przycisk paska narzędzi, który uruchamia okno dialogowe próbnika kolorów.

class CMFCColorMenuButton : public CMFCToolBarMenuButton

Członkowie

Bb983045.collapse_all(pl-pl,VS.110).gifPubliczne konstruktory

Nazwa

Opis

CMFCColorMenuButton::CMFCColorMenuButton

Konstrukcje CMFCColorMenuButton obiektu.

Bb983045.collapse_all(pl-pl,VS.110).gifMetody publiczne

Nazwa

Opis

CMFCColorMenuButton::EnableAutomaticButton

Włącza i wyłącza przycisk "Automatyczny", umieszczone powyżej przycisków regularnych kolorów.(Przycisk Automatyczne standardowy system jest oznaczony Automatyczne.)

CMFCColorMenuButton::EnableDocumentColors

Umożliwia wyświetlanie kolorów specyficznych dla dokumentu, a nie systemu kolorów.

CMFCColorMenuButton::EnableOtherButton

Włącza i wyłącza "inne" jest umieszczony poniżej przycisków regularnych kolor przycisku.(Standardowy system ma etykietę przycisku "inne" Więcej kolorów....)

CMFCColorMenuButton::EnableTearOff

Włącza możliwość wydzielić z panelu Kolor.

CMFCColorMenuButton::GetAutomaticColor

Pobiera bieżący kolor automatyczny.

CMFCColorMenuButton::GetColor

Pobiera bieżący przycisk Kolor.

CMFCColorMenuButton::GetColorByCmdID

Pobiera kolor, który odpowiada identyfikator określonego polecenia.

CMFCColorMenuButton::OnChangeParentWnd

Wywołana przez ramy, gdy okno nadrzędne.

CMFCColorMenuButton::OpenColorDialog

Otwiera okno dialogowe wyboru kolorów.

CMFCColorMenuButton::SetColor

Ustawia kolor przycisku kolor bieżący.

CMFCColorMenuButton::SetColorByCmdID

Ustawia kolor przycisku menu określonego koloru.

CMFCColorMenuButton::SetColorName

Określa nową nazwę określonego koloru.

CMFCColorMenuButton::SetColumnsNumber

Ustawia liczbę kolumn, które są wyświetlane przez CMFCColorBar obiektu.

Bb983045.collapse_all(pl-pl,VS.110).gifMetody chronione

Nazwa

Opis

CMFCColorMenuButton::CopyFrom

Kopiuje innego przycisku na pasku narzędzi przycisk bieżącego.

CMFCColorMenuButton::CreatePopupMenu

Tworzy okno dialogowe próbnika kolorów.

CMFCColorMenuButton::IsEmptyMenuAllowed

Wskazuje, czy puste menu są obsługiwane.

CMFCColorMenuButton::OnDraw

Wywołana przez ramy do wyświetlania obrazu na przycisku.

CMFCColorMenuButton::OnDrawOnCustomizeList

Wywoływany przez ram przed CMFCColorMenuButton obiekt jest wyświetlany na liście okno dialogowe Dostosowywanie paska narzędzi.

Uwagi

Aby zastąpić oryginalne menu polecenie lub przycisk paska narzędzi z CMFCColorMenuButton obiektów, Utwórz CMFCColorMenuButton obiekt, ustaw wszelkie odpowiednie Klasa CMFCColorBar style, a następnie wywołanie ReplaceButton metody Klasa CMFCToolBar klasy.Jeśli dostosować pasek narzędzi, wywołanie CMFCToolBarsCustomizeDialog::ReplaceButton metody.

Okno dialogowe próbnik kolorów jest tworzony podczas przetwarzania CMFCColorMenuButton::CreatePopupMenu obsługi zdarzeń.Obsługa zdarzeń powiadamia ramki macierzystej z WM_COMMAND wiadomości.CMFCColorMenuButton Obiekt wysyła identyfikator formantu, przypisany do oryginalnego menu polecenia lub przycisku paska narzędzi.

Przykład

Poniższy przykład ilustruje sposób utworzyć i skonfigurować przy użyciu różnych metod w menu przycisku kolor CMFCColorMenuButton klasy.Na przykład CPalette obiekt jest tworzony po raz pierwszy i następnie używane do konstruowania obiektu CMFCColorMenuButton klasy.CMFCColorMenuButton Obiektu następnie jest konfigurowany przez włączenie jego automatyczne i innych przycisków i ustawienie jej kolor i liczba kolumn.Kod ten jest częścią próbki Word Pad.

    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 dziedziczenia

CObject

   CMFCToolBarButton

      CMFCToolBarMenuButton

         CMFCColorMenuButton

Wymagania

Nagłówek: afxcolormenubutton.h

Zobacz też

Informacje

Wykres hierarchii

Klasa CMFCColorBar

Klasa CMFCToolBar

Klasa CMFCToolBarsCustomizeDialog

Klasa CMFCColorButton

Inne zasoby

Klasy MFC