Поделиться через


Класс CMFCRibbonGallery

Реализует коллекции лент в стиле Office 2007. Дополнительные сведения см. в исходном коде, расположенном в папке VC\atlmfc\src\mfc установки Visual Studio.

Синтаксис

class CMFCRibbonGallery : public CMFCRibbonButton

Участники

Открытые конструкторы

Имя Описание
CMFCRibbonGallery::CMFCRibbonGallery Создает и инициализирует объект CMFCRibbonGallery.

Открытые методы

Имя Описание
CMFCRibbonGallery::AddGroup Добавляет новую группу в коллекцию.
CMFCRibbonGallery::AddSubItem Добавляет новый пункт меню в раскрывающееся меню.
CMFCRibbonGallery::Clear Очищает содержимое коллекции.
CMFCRibbonGallery::EnableMenuResize Включает или отключает изменение размера панели меню.
CMFCRibbonGallery::EnableMenuSideBar Включает или отключает боковую панель слева от всплывающего меню.
CMFCRibbonGallery::GetCompactSize (Переопределения CMFCRibbonButton::GetCompactSize.)
CMFCRibbonGallery::GetDroppedDown (Переопределения CMFCRibbonBaseElement::GetDroppedDown.)
CMFCRibbonGallery::GetGroupName Возвращает имя группы, расположенной по указанному индексу.
CMFCRibbonGallery::GetGroupOffset
CMFCRibbonGallery::GetIconsInRow Возвращает количество элементов в строке коллекции лент.
CMFCRibbonGallery::GetItemToolTip Возвращает текст подсказки, связанный с элементом в коллекции.
CMFCRibbonGallery::GetLastSelectedItem Возвращает индекс последнего элемента в коллекции, выбранной пользователем.
CMFCRibbonGallery::GetPaletteID Возвращает идентификатор команды текущей коллекции.
CMFCRibbonGallery::GetRegularSize (Переопределения CMFCRibbonButton::GetRegularSize.)
CMFCRibbonGallery::GetSelectedItem
CMFCRibbonGallery::HasMenu (Переопределения CMFCRibbonButton::HasMenu.)
CMFCRibbonGallery::IsButtonMode Указывает, содержится ли коллекция в кнопке коллекции.
CMFCRibbonGallery::IsMenuResizeEnabled Указывает, включена или отключена ли изменение размера меню.
CMFCRibbonGallery::IsMenuResizeVertical
CMFCRibbonGallery::IsMenuSideBar Указывает, включена ли боковая панель или отключена.
CMFCRibbonGallery::OnAfterChangeRect (Переопределяет CMFCRibbonButton::OnAfterChangeRect.)
CMFCRibbonGallery::OnDraw (Переопределения CMFCRibbonButton::OnDraw.)
CMFCRibbonGallery::OnEnable (Переопределяет CMFCRibbonBaseElement::OnEnable.)
CMFCRibbonGallery::OnRTLChanged (Переопределения CMFCRibbonBaseElement::OnRTLChanged.)
CMFCRibbonGallery::RedrawIcons Перерисовывает коллекцию.
CMFCRibbonGallery::RemoveItemToolTips Удаляет подсказки из всех элементов в коллекции.
CMFCRibbonGallery::SelectItem
CMFCRibbonGallery::SetACCData (Переопределения CMFCRibbonButton::SetACCData.)
CMFCRibbonGallery::SetButtonMode Указывает, следует ли отображать коллекцию лент в виде раскрывающейся кнопки или в виде палитры непосредственно на ленте.
CMFCRibbonGallery::SetGroupName Задает имя группы.
CMFCRibbonGallery::SetIconsInRow Определяет количество элементов для каждой строки в коллекции.
CMFCRibbonGallery::SetItemToolTip Задает текст подсказки для элемента в коллекции.
CMFCRibbonGallery::SetPalette Присоединяет палитру к коллекции лент.
CMFCRibbonGallery::SetPaletteID Определяет идентификатор команды, отправляемый в сообщении WM_COMMAND при выборе элемента коллекции.

Защищенные методы

Имя Описание
CMFCRibbonGallery::OnDrawPaletteIcon Вызывается платформой при рисовании значка коллекции.

Замечания

Кнопка коллекции ведет себя так же, как и обычная кнопка меню, за исключением того, что она отображает коллекцию при открытии пользователя. При выборе элемента в коллекции платформа отправляет сообщение WM_COMMAND вместе с идентификатором команды кнопки. При обработке сообщения необходимо вызвать CMFCRibbonGallery::GetLastSelectedItem , чтобы определить, какой элемент был выбран из коллекции.

Пример

В следующем примере показано, как использовать различные методы в CMFCRibbonGallery классе для настройки CMFCRibbonGallery объекта. В примере показано, как указать количество элементов для каждой строки в коллекции, включить изменение размера панели меню, включить боковую панель слева от всплывающего меню и отобразить коллекцию лент в виде палитры непосредственно на панели ленты. Этот фрагмент кода входит в состав примера Draw Client.

CMFCRibbonGallery *pBtnStyles = new CMFCRibbonGallery(ID_OBJECT_STYLES, _T("Styles\nk"), 0, 0, IDB_STYLES, 40);
pBtnStyles->SetIconsInRow(7);
pBtnStyles->EnableMenuResize(TRUE, TRUE);
pBtnStyles->EnableMenuSideBar();
pBtnStyles->SetButtonMode(false);
pBtnStyles->RedrawIcons();

Иерархия наследования

CObject
└ CMFCRibbonBaseElement
└ CMFCRibbonButton
  └ CMFCRibbonGallery

Требования

Заголовок: afxRibbonPaletteGallery.h

CMFCRibbonGallery::AddGroup

Добавляет новую группу в коллекцию.

void AddGroup(
    LPCTSTR lpszGroupName,
    UINT uiImagesPaletteResID,
    int cxPaletteImage);

void AddGroup(
    LPCTSTR lpszGroupName,
    CMFCToolBarImages& imagesGroup);

void AddGroup(
    LPCTSTR lpszGroupName,
    int nIconsNum);

Параметры

lpszGroupName
[in] Указывает имя группы.

uiImagesPaletteResID
[in] Указывает идентификатор ресурса списка изображений, содержащего изображения для группы.

cxPaletteImage
[in] Задает ширину в пикселях изображения.

imagesGroup
[in] Ссылка на список изображений, содержащий образы группы.

nIconsNum
[in] Указывает количество значков в группе. Этот параметр должен быть указан только для пользовательских (нарисованных владельцем) групп.

Замечания

Элементы в коллекции лент можно разделить на несколько групп, вызвав этот метод. Каждая группа может иметь заголовок.

CMFCRibbonGallery::AddSubItem

Добавляет новый пункт меню в раскрывающееся меню.

void AddSubItem(
    CMFCRibbonBaseElement* pSubItem,
    int nIndex=-1,
    BOOL bOnTop=FALSE);

Параметры

pSubItem
[in] Указатель на элемент, добавляемый в меню.

nIndex
[in] Задает отсчитываемый от нуля индекс расположения, в котором нужно вставить элемент.

bOnTop
[in] Значение TRUE, чтобы указать, что элемент должен быть вставлен перед коллекцией лент; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

Коллекции всплывающих окон можно объединить с элементами меню всплывающего окна, вызвав этот метод. Элементы меню можно поместить до или после коллекции.

Чтобы вставить элемент перед коллекцией, задайте значение bOnTop значение TRUE. Установите значение bOnTop значение FALSE, чтобы вставить элемент под коллекцией.

Примечание.

Параметр nIndex задает индекс вставки как в верхней части коллекции, так и в нижней части коллекции. Например, если необходимо вставить элемент в одну позицию перед коллекцией, задайте для nIndex значение 1 и bOnTop значение TRUE. Аналогичным образом, если необходимо вставить элемент в одну позицию под коллекцией, задайте nIndex значение 1 и bOnTop значение FALSE.

CMFCRibbonGallery::Clear

Очищает содержимое коллекции.

virtual void Clear();

Замечания

Вызовите этот метод, чтобы удалить все содержимое из коллекции лент. Это необходимо сделать, прежде чем присоединить новую коллекцию лент или набор групп к коллекции лент.

CMFCRibbonGallery::CMFCRibbonGallery

Создает и инициализирует объект CMFCRibbonGallery .

CMFCRibbonGallery (
    UINT nID,
    LPCTSTR lpszText,
    int nSmallImageIndex,
    int nLargeImageIndex,
    CMFCToolBarImages& imagesPalette);

CMFCRibbonGallery (
    UINT nID,
    LPCTSTR lpszText,
    int nSmallImageIndex,
    int nLargeImageIndex,
    UINT uiImagesPaletteResID=0,
    int cxPaletteImage=0);

CMFCRibbonGallery (
    UINT nID,
    LPCTSTR lpszText,
    int nSmallImageIndex,
    int nLargeImageIndex,
    CSize sizeIcon,
    int nIconsNum,
    BOOL bDefaultButtonStyle=TRUE);

Параметры

nID
Указывает идентификатор команды, выполняемой при нажатии кнопки.

lpszText
Указывает текст, отображаемый на кнопке.

nSmallImageIndex
Отсчитываемый от нуля индекс небольшого изображения, который будет отображаться на кнопке.

nLargeImageIndex
Отсчитываемый от нуля индекс большого изображения, который будет отображаться на кнопке.

imagesPalette
Ссылка на объект CMFCToolBarImages , содержащий изображения, которые будут отображаться в коллекции.

uiImagesPaletteResID
Идентификатор ресурса списка изображений, отображаемых в коллекции.

cxPaletteImage
Задает ширину изображения в пикселях в коллекции.

sizeIcon
Задает размер изображения коллекции в пикселях.

nIconsNum
Указывает количество значков в коллекции.

bDefaultButtonStyle
Указывает, следует ли использовать стиль кнопки по умолчанию или нарисованную владельцем кнопку.

Замечания

CMFCRibbonGallery::EnableMenuResize

Включает или отключает изменение размера панели меню.

void EnableMenuResize(
    BOOL bEnable = TRUE,
    BOOL bVertcalOnly = FALSE);

Параметры

bEnable
[in] ЗНАЧЕНИЕ TRUE, чтобы включить изменение размера меню; в противном случае — ЗНАЧЕНИЕ FALSE.

bVertcalOnly
[in] Значение TRUE, чтобы указать, что коллекция может изменяться только по вертикали; Значение FALSE, указывающее, что коллекция может изменяться как по вертикали, так и по горизонтали.

Замечания

Используйте этот метод, чтобы включить или отключить изменение размера коллекции лент. При включении изменения размера коллекция лент отображает захват, который пользователь может использовать для изменения размера.

CMFCRibbonGallery::EnableMenuSideBar

Включает или отключает боковую панель слева от всплывающего меню.

void EnablMenuSideBar(BOOL bEnable=TRUE);

Параметры

bEnable
[in] ЗНАЧЕНИЕ TRUE, чтобы указать, включена ли боковая панель; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

Вызовите этот метод, чтобы включить или отключить боковую панель Office XP в левой части меню.

CMFCRibbonGallery::GetCompactSize

virtual CSize GetCompactSize(CDC* pDC);

Параметры

[in] PDC

Возвращаемое значение

Замечания

CMFCRibbonGallery::GetDroppedDown

virtual CMFCRibbonBaseElement* GetDroppedDown();

Возвращаемое значение

Замечания

CMFCRibbonGallery::GetGroupName

Возвращает имя группы, расположенной по указанному индексу.

LPCTSTR GetGroupName(int nGroupIndex) const;

Параметры

nGroupIndex
[in] Задает отсчитываемый от нуля индекс для группы, имя которой требуется получить.

Возвращаемое значение

Имя группы, расположенной по указанному индексу. Передача недопустимого индекса приведет к сбою утверждения.

Замечания

CMFCRibbonGallery::GetGroupOffset

virtual int GetGroupOffset() const;

Возвращаемое значение

Замечания

CMFCRibbonGallery::GetIconsInRow

Возвращает количество элементов в строке коллекции лент.

int GetIconsInRow() const;

Возвращаемое значение

Количество элементов в строке.

Замечания

CMFCRibbonGallery::GetItemToolTip

Возвращает текст подсказки, связанный с элементом в коллекции.

LPCTSTR GetItemToolTip(int nItemIndex) const;

Параметры

nItemIndex
[in] Задает отсчитываемый от нуля индекс элемента, для которого извлекается текст подсказки.

Возвращаемое значение

Указатель на строку подсказки, назначенную элементу в коллекции лент. Значение NULL может быть равно NULL, если подсказка не назначена этому элементу.

Замечания

CMFCRibbonGallery::GetLastSelectedItem

Возвращает индекс последнего элемента в коллекции ленты, выбранной пользователем.

static int GetLastSelectedItem(UINT uiCmdID);

Параметры

uiCmdID
[in] Указывает идентификатор команды элемента меню, открывшего коллекцию лент.

Возвращаемое значение

Когда пользователь выбирает любой элемент в коллекции лент, библиотека отправляет сообщение WM_COMMAND вместе с идентификатором команды кнопки меню, открывшей коллекцию лент.

Замечания

CMFCRibbonGallery::GetPaletteID

Возвращает идентификатор команды текущей палитры.

int GetPaletteID() const;

Возвращаемое значение

Идентификатор команды выбранной палитры.

Замечания

CMFCRibbonGallery::GetRegularSize

virtual CSize GetRegularSize(CDC* pDC);

Параметры

[in] PDC

Возвращаемое значение

Замечания

CMFCRibbonGallery::GetSelectedItem

int GetSelectedItem() const;

Возвращаемое значение

Замечания

CMFCRibbonGallery::HasMenu

virtual BOOL HasMenu() const;

Возвращаемое значение

Замечания

CMFCRibbonGallery::IsButtonMode

Указывает, содержится ли палитра в кнопке коллекции.

BOOL IsButtonMode() const;

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если палитра отображается в виде кнопки раскрывающегося меню; Значение FALSE, если палитра отображается непосредственно на ленте.

Замечания

CMFCRibbonGallery::IsMenuResizeEnabled

Указывает, включено ли изменение размера меню.

BOOL IsMenuResizeEnabled() const;

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если изменение размера меню было включено; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

CMFCRibbonGallery::IsMenuResizeVertical

BOOL IsMenuResizeVertical() const;

Возвращаемое значение

Замечания

CMFCRibbonGallery::IsMenuSideBar

Указывает, включена ли боковая панель или отключена.

BOOL IsMenuSideBar() const;

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если боковая панель в стиле Office XP рисуется в левой части всплывающего меню; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

CMFCRibbonGallery::OnAfterChangeRect

virtual void OnAfterChangeRect(CDC* pDC);

Параметры

[in] PDC

Замечания

CMFCRibbonGallery::OnDraw

virtual void OnDraw(CDC* pDC);

Параметры

[in] PDC

Замечания

CMFCRibbonGallery::OnDrawPaletteIcon

Вызывается платформой при рисовании значка коллекции.

virtual void OnDrawPaletteIcon(
    CDC* pDC,
    CRect rectIcon,
    int nIconIndex,
    CMFCRibbonGalleryIcon* pIcon,
    COLORREF clrText);

Параметры

pDC
[in] Указатель на контекст устройства, используемый для рисования.

rectIcon
[in] Указывает ограничивающий прямоугольник рисуемого значка.

nIconIndex
[in] Указывает отсчитываемый от нуля индекс в списке изображений значков коллекции значков значка для рисования.

pIcon
[in] Указатель на рисуемый значок.

clrText
[in] Задает цвет для текста элемента, нарисуемого.

Замечания

Этот метод можно переопределить в производном классе, чтобы настроить внешний вид коллекции лент.

CMFCRibbonGallery::OnEnable

virtual void OnEnable(BOOL bEnable);

Параметры

[in] bEnable

Замечания

CMFCRibbonGallery::OnRTLChanged

virtual void OnRTLChanged(BOOL bIsRTL);

Параметры

[in] bIsRTL

Замечания

CMFCRibbonGallery::RedrawIcons

Перерисовывает коллекцию.

void RedrawIcons();

Замечания

Вызовите эту функцию, чтобы перераскрыть коллекцию. Этот метод необходимо вызвать, если вы изменили содержимое коллекции во время выполнения.

CMFCRibbonGallery::RemoveItemToolTips

Удаляет подсказки из всех элементов в коллекции.

void RemoveItemToolTips();

Замечания

CMFCRibbonGallery::SelectItem

void SelectItem(int nItemIndex);

Параметры

[in] nItemIndex

Замечания

CMFCRibbonGallery::SetACCData

Заполняет указанный объект CAccessibilityData , используя данные специальных возможностей из галереи ленты.

virtual BOOL SetACCData(
    CWnd* pParent,
    CAccessibilityData& data);

Параметры

pParent
[in] Родительское окно окна коллекции ленты.

data
[out] CAccessibilityData Объект, получающий данные специальных возможностей из коллекции лент.

Возвращаемое значение

Замечания

ЗНАЧЕНИЕ TRUE, если метод выполнен успешно; в противном случае — ЗНАЧЕНИЕ FALSE.

CMFCRibbonGallery::SetButtonMode

Определяет, следует ли отображать коллекцию лент в виде раскрывающейся кнопки или в виде палитры непосредственно на ленте.

void SetButtonMode(BOOL bSet=TRUE);

Параметры

bSet
[in] Значение TRUE для отображения коллекции лент в виде кнопки раскрывающегося меню; Значение FALSE для отображения содержимого коллекции лент непосредственно на ленте.

Замечания

CMFCRibbonGallery::SetGroupName

Задает имя группы.

void SetGroupName(
    int nGroupIndex,
    LPCTSTR lpszGroupName);

Параметры

nGroupIndex
[in] Указывает отсчитываемый от нуля индекс группы, для которой изменяется имя.

lpszGroupName
[in] Задает новое имя группы.

Замечания

Группа, имя которой необходимо изменить, должна быть добавлена с помощью метода CMFCRibbonGallery::AddGroup .

CMFCRibbonGallery::SetIconsInRow

Указывает количество элементов для каждой строки в коллекции.

void SetIconsInRow(int nIconsInRow);

Параметры

nIconsInRow
[in] Указывает количество элементов, отображаемых в каждой строке коллекции.

Замечания

Используйте этот метод, чтобы указать ширину коллекции лент.

CMFCRibbonGallery::SetItemToolTip

Задает текст подсказки для элемента в коллекции.

void SetItemToolTip(
    int nItemIndex,
    LPCTSTR lpszToolTip);

Параметры

nItemIndex
[in] Отсчитываемый от нуля индекс элемента палитры, с которым необходимо связать подсказку.

lpszToolTip
[in] Текст, отображаемый в подсказке.

Замечания

CMFCRibbonGallery::SetPalette

Присоединяет палитру к коллекции лент.

void SetPalette(CMFCToolBarImages& imagesPalette);

void SetPalette(
    UINT uiImagesPaletteResID,
    int cxPaletteImage);

Параметры

imagesPalette
[in] Указывает список изображений, содержащий значки, которые будут отображаться в коллекции.

uiImagesPaletteResID
[in] Указывает идентификатор ресурса списка изображений, содержащего значки, которые будут отображаться в коллекции.

cxPaletteImage
[in] Задает ширину изображения в пикселях в коллекции.

Замечания

CMFCRibbonGallery::SetPaletteID

Определяет идентификатор команды, отправляемый в сообщении WM_COMMAND, когда пользователь выбирает элемент коллекции.

void SetPaletteID(UINT nID);

Параметры

nID
[in] Указывает идентификатор команды, отправляемый в сообщении WM_COMMAND, когда пользователь выбирает элемент коллекции.

Замечания

Чтобы определить определенный элемент, выбранный пользователем из коллекции, вызовите статический метод CMFCRibbonGallery::GetLastSelectedItem .

См. также

Диаграмма иерархии
Классы
Класс CMFCRibbonButton
Класс CMFCRibbonGalleryMenuButton