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
Öffentliche Konstruktoren
Name |
Description |
---|---|
Erstellt ein CMFCColorMenuButton-Objekt. |
Öffentliche Methoden
Name |
Description |
---|---|
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). |
|
Aktiviert die Anzeige von Dokumentbesondere Farben anstelle der Systemfarben. |
|
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). |
|
Aktiviert die Möglichkeit, einen Farbenbereich auseinanderzureißen. |
|
Ruft die aktuelle automatische Farbe ab. |
|
Ruft die aktuelle Farbe der Schaltfläche ab. |
|
Ruft die Farbe ab, die einer angegebenen Befehl ID entspricht |
|
Aufgerufen vom Framework, wenn das übergeordnete Fenster ändert. |
|
Öffnet ein Farben-Auswahldialogfeld. |
|
Legt die Farbe der aktuellen Farbenschaltfläche fest. |
|
Legt die Farbe der angegebenen Farbenmenüschaltfläche fest. |
|
Legt einen neuen Namen für die angegebene Farbe fest. |
|
Legt die Anzahl von Spalten fest, die von einem CMFCColorBar-Objekt angezeigt werden. |
Geschützte Methoden
Name |
Description |
---|---|
Kopiert eine andere Symbolleisten-Schaltfläche zur aktuellen Schaltfläche. |
|
Stellt ein Farben-Auswahldialogfeld erstellt. |
|
Gibt an, ob leere Menüs unterstützt werden. |
|
Aufgerufen vom Framework, um ein Bild auf einer Schaltfläche anzuzeigen. |
|
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
Anforderungen
Header: afxcolormenubutton.h
Siehe auch
Referenz
CMFCToolBarsCustomizeDialog-Klasse