Класс CMFCColorMenuButton
Класс CMFCColorMenuButton поддерживает команду меню или кнопки панели инструментов, которая запускает диалоговое окно палитра цветов.
class CMFCColorMenuButton : public CMFCToolBarMenuButton
Члены
Открытые конструкторы
Имя |
Описание |
---|---|
Создает объект CMFCColorMenuButton. |
Открытые методы
Имя |
Описание |
---|---|
Включает и блокирует "," автоматическая кнопку, которая располагается на обычный кнопками цвета.(Кнопка стандартной системы автоматическая на которую указывает Автоматически). |
|
Включает отображение цвета вместо цветов документ- определенной системы. |
|
Включает и блокирует "другой" кнопку, которая располагается под обычный кнопками цвета.(Стандартная система "другой" указывает More Colors…). |
|
Включает возможность сорвать панель цвета. |
|
Извлекает текущий автоцвет. |
|
Извлекает текущий цвет кнопки. |
|
Получает цвет, соответствующий указанному идентификатору команды |
|
Вызываемый платформой, если родительское окно изменяется. |
|
Открывает диалоговое окно выбора цвета. |
|
Устанавливает цвет текущей кнопки цвета. |
|
Устанавливает цвет палитры указанной кнопки. |
|
Устанавливает новое имя для указанного цвета. |
|
Устанавливает количество столбцов, отображаемых объектом CMFCColorBar. |
Защищенные методы
Имя |
Описание |
---|---|
Копирует вторая кнопка панели инструментов с текущим кнопке. |
|
Создает диалоговое окно палитра цветов. |
|
Указывает, поддерживаются ли пустые меню. |
|
Вызываемый платформой для отображения образа на кнопке. |
|
Вызываемый платформой, прежде чем объект CMFCColorMenuButton будет отображаться в списке диалогового окна настройки панели инструментов. |
Заметки
Чтобы заменить исходный команду меню или кнопки панели инструментов с объектом CMFCColorMenuButton создайте объект CMFCColorMenuButton задайте все соответствующие стили Класс CMFCColorBar, и затем вызовите метод ReplaceButton класса Класс CMFCToolBar.Если вы настраиваете панель инструментов, вызовите метод CMFCToolBarsCustomizeDialog::ReplaceButton.
Диалоговое окно "Палитра цветов" создано во время обработки метод обработчика событий CMFCColorMenuButton::CreatePopupMenu.Обработчик событий уведомляет родительский кадр с сообщением WM_COMMAND.Объект CMFCColorMenuButton отправляет идентификатор элемента управления, присвоено к исходной команде меню или кнопке панели инструментов.
Пример
В следующем примере показано, как создать и настроить кнопку палитры с помощью различных методов в классе CMFCColorMenuButton.В этом примере объект CPalette сначала создать, а затем используется для создания объекта класса CMFCColorMenuButton.Объект CMFCColorMenuButton затем настроить, позволяя его автоматических и другие кнопки и установление его цвет и число столбцов.Данный пример кода является частью Пример запуска площадки слова.
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;
}
Иерархия наследования
Требования
заголовок: afxcolormenubutton.h
См. также
Ссылки
Класс CMFCToolBarsCustomizeDialog