CMFCRibbonGallery 類別
實作 Office 2007 樣式的功能區組件庫。 如需更多詳細資料,請參閱 Visual Studio 安裝位置下之 VC\atlmfc\src\mfc 資料夾中的原始程式碼。
語法
class CMFCRibbonGallery : public CMFCRibbonButton
成員
公用建構函式
名稱 | 描述 |
---|---|
CMFCRibbonGallery::CMFCRibbonGallery | 建構並初始化 CMFCRibbonGallery 物件。 |
公用方法
受保護的方法
名稱 | 描述 |
---|---|
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 類別