Classe di CMFCColorMenuButton
La classe CMFCColorMenuButton supporta un comando di menu o un pulsante della barra degli strumenti che avvia una finestra di dialogo di selezione colori.
class CMFCColorMenuButton : public CMFCToolBarMenuButton
Membri
Costruttori pubblici
Nome |
Descrizione |
---|---|
Costruisce un oggetto CMFCColorMenuButton. |
Metodi pubblici
Nome |
Descrizione |
---|---|
Abilita e disabilita un pulsante "automatico" collocato sui pulsanti standard di colore.(Il pulsante automatico del sistema standard è contrassegnato Automatico). |
|
Consente la visualizzazione dei colori un documento specifico anziché i colori di sistema. |
|
Abilita e disabilita "un altro" pulsante posto sotto i pulsanti standard di colore.(Il sistema standard "l'altro" pulsante è contrassegnato Altri coloriÉ). |
|
Consente di lacerare un riquadro di colore. |
|
Recupera il colore automatico corrente. |
|
Recupera il colore corrente del pulsante. |
|
Recupera il colore corrispondente a un ID di comando |
|
Chiamato dal framework quando la finestra padre. |
|
Aprire una finestra di dialogo di selezione di colori. |
|
Imposta il colore del pulsante corrente di colore. |
|
Imposta il colore del pulsante tavolozza colori specificato. |
|
Imposta un nuovo nome per il colore specificato. |
|
Imposta il numero di colonne visualizzate da un oggetto CMFCColorBar. |
Metodi protetti
Nome |
Descrizione |
---|---|
Copia un altro pulsante della barra degli strumenti al pulsante corrente. |
|
Crea una finestra di dialogo di selezione colori. |
|
Indica se i menu vuoti sono supportati. |
|
Chiamato dal framework per visualizzare un'immagine in un pulsante. |
|
Chiamato dal framework prima che un oggetto CMFCColorMenuButton visualizzato nell'elenco di una finestra di dialogo per la personalizzazione della barra degli strumenti. |
Note
Per sostituire il comando di menu o un pulsante della barra degli strumenti originale con un oggetto CMFCColorMenuButton, creare l'oggetto CMFCColorMenuButton, impostare gli stili appropriati qualsiasi Classe di CMFCColorBar quindi chiamare il metodo ReplaceButton della classe Classe di CMFCToolBar.Se si personalizza la barra degli strumenti, chiamare il metodo CMFCToolBarsCustomizeDialog::ReplaceButton.
La finestra di dialogo di selezione colori viene creata durante l'elaborazione del gestore eventi CMFCColorMenuButton::CreatePopupMenu.Il gestore eventi notifica il frame padre con un messaggio WM_COMMAND.L'oggetto CMFCColorMenuButton invia l'id del controllo assegnato al comando di menu o sul pulsante della barra degli strumenti originale.
Esempio
Nell'esempio seguente viene illustrato come creare e configurare un pulsante tavolozza colori utilizzando i diversi metodi nella classe CMFCColorMenuButton.Nell'esempio, un oggetto CPalette innanzitutto viene creato e quindi utilizzato per costruire un oggetto con la classe CMFCColorMenuButton.L'oggetto CMFCColorMenuButton quindi configurato ai pulsanti automatici e altri e impostando il colore e il numero di colonne.Questo codice fa parte Esempio di cuscinetto di 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;
}
Gerarchia di ereditarietà
Requisiti
intestazione: afxcolormenubutton.h
Vedere anche
Riferimenti
Classe di CMFCToolBarsCustomizeDialog