CMFCColorMenuButton Class
La clase de CMFCColorMenuButton admite un comando de menú o un botón de la barra de herramientas que inicia un cuadro de diálogo Selector de colores.
class CMFCColorMenuButton : public CMFCToolBarMenuButton
Members
Constructores públicos
Name |
Descripción |
---|---|
Crea un objeto CMFCColorMenuButton. |
Métodos públicos
Name |
Descripción |
---|---|
Habilita y deshabilita un botón “automático” que se coloque sobre los botones de color regulares. (El botón automático de sistema estándar se etiqueta Automático.) |
|
Permite la presentación de colores documento-específicos en lugar de colores del sistema. |
|
Habilita y deshabilita “other” botón que se coloque debajo de los botones de color regulares. (El sistema estándar de El “other” botón se etiqueta más colores….) |
|
Habilita la capacidad de rasgar desactivado un panel de color. |
|
Recupera el color automático actual. |
|
Recupera el color actual del botón. |
|
Recupera el color que corresponde a un identificador especificada de comando |
|
Llamado por el marco cuando la ventana primaria. |
|
Abre un cuadro de diálogo de selección de color. |
|
Establece el color del botón en el color actual. |
|
Establece el color del botón especificado del menú de color. |
|
Establece un nuevo nombre para el color especificado. |
|
Establece el número de columnas que aparezcan por un objeto de CMFCColorBar . |
Métodos protegidos
Name |
Descripción |
---|---|
Copia otro botón de la barra de herramientas para el botón actual. |
|
Crea un cuadro de diálogo selector de colores. |
|
Indica si los menús vacíos se admiten. |
|
Llamado por el marco para mostrar una imagen en un botón. |
|
Llamado por el marco antes de que un objeto de CMFCColorMenuButton se muestra en la lista de un cuadro de diálogo personalización de la barra de herramientas. |
Comentarios
Para reemplazar el comando de menú o el botón de la barra de herramientas original con un objeto de CMFCColorMenuButton , cree el objeto de CMFCColorMenuButton , establezca cualquier estilo adecuado de CMFCColorBar Class , y llame al método de ReplaceButton de la clase de CMFCToolBar Class . Si personaliza una barra de herramientas, llame al método de CMFCToolBarsCustomizeDialog::ReplaceButton .
El cuadro de diálogo Selector de colores se crea durante el procesamiento del controlador de eventos CMFCColorMenuButton::CreatePopupMenu . El controlador de eventos notifica el cuadro primario con un mensaje de WM_COMMAND . El objeto de CMFCColorMenuButton envía el id. del control que se asigna al comando de menú o el botón de la barra de herramientas original.
Ejemplo
El ejemplo siguiente se muestra cómo crear y configurar un botón de menú de color mediante varios métodos en la clase de CMFCColorMenuButton . En el ejemplo, un objeto de CPalette se crea por primera vez y después se utiliza para construir un objeto de clase de CMFCColorMenuButton . El objeto de CMFCColorMenuButton se configurado habilitar los botones automáticos y otros, y estableciendo el color y el número de columnas. Este código es parte de Ejemplo de pista de 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;
}
Jerarquía de herencia
Requisitos
encabezado: afxcolormenubutton.h
Vea también
Referencia
CMFCToolBarsCustomizeDialog Class