Classe CMFCColorMenuButton
The CMFCColorMenuButton classe oferece suporte a um comando de menu ou um botão de barra de ferramentas que inicia um seletor de cor caixa de diálogo.
class CMFCColorMenuButton : public CMFCToolBarMenuButton
Membros
Construtores públicos
Nome |
Descrição |
---|---|
Constrói um CMFCColorMenuButton objeto. |
Métodos públicos
Nome |
Descrição |
---|---|
Habilita e desabilita um botão "automático" que está posicionado acima dos botões de cor normal.(O botão automática padrão do sistema é rotulado Automático.) |
|
Ativa a exibição de cores específicas de documentos em vez de cores do sistema. |
|
Habilita e desabilita um botão "Outros" que é posicionado abaixo dos botões de cor normal.(O padrão do sistema "Outros" botão é rotulado comMais Colors….) |
|
Permite que a capacidade de separar um painel Cor. |
|
Recupera a corrente cor automático. |
|
Recupera a cor do botão corrente. |
|
Recupera a cor que corresponda a uma ID de comando especificado. |
|
Chamado pela estrutura quando a janela pai é alterada. |
|
Abre uma caixa de diálogo de seleção de cor. |
|
Define a cor do botão cor corrente. |
|
Define a cor do botão de menu de cores especificada. |
|
Define um novo nome para a cor especificada. |
|
Define o número de colunas exibidas por um CMFCColorBar objeto. |
Métodos protegidos
Nome |
Descrição |
---|---|
Copia outro botão de barra de ferramentas do botão corrente. |
|
Cria um seletor de cor caixa de diálogo. |
|
Indica se menus vazias suporte. |
|
Chamado pela estrutura para exibir uma imagem em um botão. |
|
Chamado pelo estrutura antes de um CMFCColorMenuButton objeto é exibido na lista de uma caixa de diálogo de personalização da barra de ferramentas. |
Comentários
Para substituir o botão de barra de ferramentas ou comando de menu original com um CMFCColorMenuButton objeto, criar o CMFCColorMenuButton objeto, definido qualquer apropriado Classe CMFCColorBar estilos e, em seguida, telefonar a ReplaceButton método para o Classe CMFCToolBar classe. Se você personalizar uma barra de ferramentas, chamar o CMFCToolBarsCustomizeDialog::ReplaceButton método.
A caixa de diálogo Seletor de cores é criada durante o processamento do CMFCColorMenuButton::CreatePopupMenu manipulador de eventos. O manipulador de eventos notifica o quadro pai com um WM_COMMAND mensagem. The CMFCColorMenuButton objeto envia a ID do controle atribuída para o botão de barra de ferramentas ou comando de menu original.
Exemplo
O exemplo a seguir demonstra como criar e configurar um botão de menu de cores usando vários métodos no CMFCColorMenuButton classe. No exemplo, um CPalette o objeto é criado pela primeira vez e, em seguida, usado para construir um objeto da CMFCColorMenuButton classe. The CMFCColorMenuButton o objeto foi configurado, em seguida, permitindo que seus botões automático e outros e definindo sua cor e o número de colunas. Esse código é parte do Exemplo do WordPad: Aplicativo WordPad do MFC.
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;
}
Hierarquia de herança
Requisitos
Cabeçalho: afxcolormenubutton.h
Consulte também
Conceitos
Referência
Classe CMFCToolBarsCustomizeDialog