共用方式為


CMFCRibbonGallery 類別

實作 Office 2007 樣式的功能區組件庫。 如需更多詳細資料,請參閱 Visual Studio 安裝位置下之 VC\atlmfc\src\mfc 資料夾中的原始程式碼。

語法

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 用戶端範例的一部分。

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。

備註

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;

傳回值

如果在快捷功能表左側繪製 Office XP 樣式的側邊列,則為 TRUE;否則為 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 類別