Sdílet prostřednictvím


CMFCRibbonGallery – třída

Implementuje galerie pásu karet ve stylu Office 2007. Další podrobnosti najdete ve zdrojovém kódu ve složce VC\atlmfc\src\mfc instalace sady Visual Studio.

Syntaxe

class CMFCRibbonGallery : public CMFCRibbonButton

Členové

Veřejné konstruktory

Název Popis
CMFCRibbonGallery::CMFCRibbonGallery Vytvoří a inicializuje CMFCRibbonGallery objekt.

Veřejné metody

Název Popis
CMFCRibbonGallery::AddGroup Přidá do galerie novou skupinu.
CMFCRibbonGallery::AddSubItem Přidá novou položku nabídky do rozevírací nabídky.
CMFCRibbonGallery::Clear Vymaže obsah galerie.
CMFCRibbonGallery::EnableMenuResize Povolí nebo zakáže změnu velikosti panelu nabídek.
CMFCRibbonGallery::EnableMenuSideBar Povolí nebo zakáže boční panel vlevo od místní nabídky.
CMFCRibbonGallery::GetCompactSize (Přepsání CMFCRibbonButton::GetCompactSize.)
CMFCRibbonGallery::GetDroppedDown (Přepsání CMFCRibbonBaseElement::GetDroppedDown.)
CMFCRibbonGallery::GetGroupName Vrátí název skupiny, která se nachází v zadaném indexu.
CMFCRibbonGallery::GetGroupOffset
CMFCRibbonGallery::GetIconsInRow Vrátí počet položek v řádku galerie pásu karet.
CMFCRibbonGallery::GetItemToolTip Vrátí text popisu, který je přidružený k položce v galerii.
CMFCRibbonGallery::GetLastSelectedItem Vrátí index poslední položky v galerii, kterou uživatel vybral.
CMFCRibbonGallery::GetPaletteID Vrátí ID příkazu aktuální galerie.
CMFCRibbonGallery::GetRegularSize (Přepsání CMFCRibbonButton::GetRegularSize.)
CMFCRibbonGallery::GetSelectedItem
CMFCRibbonGallery::HasMenu (Přepsání CMFCRibbonButton::HasMenu.)
CMFCRibbonGallery::IsButtonMode Určuje, jestli je galerie obsažena v tlačítku galerie.
CMFCRibbonGallery::IsMenuResizeEnabled Určuje, jestli je změna velikosti nabídky povolená nebo zakázaná.
CMFCRibbonGallery::IsMenuResizeVertical
CMFCRibbonGallery::IsMenuSideBar Určuje, jestli je boční panel povolený nebo zakázaný.
CMFCRibbonGallery::OnAfterChangeRect (Přepsání CMFCRibbonButton::OnAfterChangeRect.)
CMFCRibbonGallery::OnDraw (Přepsání CMFCRibbonButton::OnDraw.)
CMFCRibbonGallery::OnEnable (Přepsání CMFCRibbonBaseElement::OnEnable.)
CMFCRibbonGallery::OnRTLChanged (Přepsání CMFCRibbonBaseElement::OnRTLChanged.)
CMFCRibbonGallery::RedrawIcons Překreslí galerii.
CMFCRibbonGallery::RemoveItemToolTips Odebere popisy ze všech položek v galerii.
CMFCRibbonGallery::SelectItem
CMFCRibbonGallery::SetACCData (Přepsání CMFCRibbonButton::SetACCData.)
CMFCRibbonGallery::SetButtonMode Určuje, jestli se má galerie pásu karet zobrazit jako rozevírací tlačítko nebo jako paleta přímo na pásu karet.
CMFCRibbonGallery::SetGroupName Nastaví název skupiny.
CMFCRibbonGallery::SetIconsInRow Definuje počet položek na řádek v galerii.
CMFCRibbonGallery::SetItemToolTip Nastaví text popisu položky v galerii.
CMFCRibbonGallery::SetPalette Připojí paletu k galerii pásu karet.
CMFCRibbonGallery::SetPaletteID Definuje ID příkazu, které se odešle ve zprávě WM_COMMAND, když je vybrána položka galerie.

Chráněné metody

Název Popis
CMFCRibbonGallery::OnDrawPaletteIcon Volá se podle architektury při vykreslení ikony galerie.

Poznámky

Tlačítko galerie se chová stejně jako běžné tlačítko nabídky s tím rozdílem, že zobrazuje galerii, když ho uživatel otevře. Když vyberete položku v galerii, rozhraní odešle zprávu WM_COMMAND společně s ID příkazu tlačítka. Při zpracování zprávy byste měli zavolat CMFCRibbonGallery::GetLastSelectedItem určit, která položka byla vybrána z galerie.

Příklad

Následující příklad ukazuje použití různých metod ve CMFCRibbonGallery třídě ke konfiguraci objektu CMFCRibbonGallery . Příklad ukazuje, jak zadat počet položek na řádek v galerii, povolit změnu velikosti panelu nabídek, povolit boční panel vlevo od místní nabídky a zobrazit galerii pásu karet jako paletu přímo na panelu karet. Tento fragment kódu je součástí ukázky Klienta kreslení.

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();

Hierarchie dědičnosti

Objekt CObject
└ CMFCRibbonBaseElement
└ CMFCRibbonButton
  └ CMFCRibbonGallery

Požadavky

Hlavička: afxRibbonPaletteGallery.h

CMFCRibbonGallery::AddGroup

Přidá do galerie novou skupinu.

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

void AddGroup(
    LPCTSTR lpszGroupName,
    CMFCToolBarImages& imagesGroup);

void AddGroup(
    LPCTSTR lpszGroupName,
    int nIconsNum);

Parametry

lpszGroupName
[v] Určuje název skupiny.

uiImagesPaletteResID
[v] Určuje ID prostředku seznamu imagí, které obsahuje obrázky pro skupinu.

cxPaletteImage
[v] Určuje šířku v pixelech obrázku.

imagesGroup
[v] Odkaz na seznam obrázků, který obsahuje seskupit obrázky.

nIconsNum
[v] Určuje počet ikon ve skupině. Tento parametr by měl být zadán pouze pro vlastní skupiny (nakreslené vlastníky).

Poznámky

Položky v galerii pásu karet můžete rozdělit do několika skupin voláním této metody. Každá skupina může mít titulek.

CMFCRibbonGallery::AddSubItem

Přidá novou položku nabídky do rozevírací nabídky.

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

Parametry

pSubItem
[v] Ukazatel na položku, kterou chcete přidat do nabídky.

nIndex
[v] Určuje index založený na nule umístění, kam chcete položku vložit.

bOnTop
[v] PRAVDA, aby bylo možné určit, že položka by měla být vložena před galerii pásu karet; jinak NEPRAVDA.

Poznámky

Místní galerie můžete kombinovat s položkami místní nabídky voláním této metody. Položky nabídky lze umístit před nebo za galerii.

Chcete-li vložit položku před galerii, nastavte bOnTop na HODNOTU TRUE. Pokud chcete vložit položku pod galerii, nastavte bOnTop na HODNOTU FALSE.

Poznámka:

Parametr nIndex určuje index vložení jak v horní části galerie, tak v dolní části galerie. Pokud například potřebujete vložit položku o jednu pozici před galerii, nastavte nIndex na hodnotu 1 a bOnTop na HODNOTU TRUE. Podobně pokud potřebujete vložit položku o jednu pozici pod galerii, nastavte nIndex na hodnotu 1 a bOnTop na FALSE.

CMFCRibbonGallery::Clear

Vymaže obsah galerie.

virtual void Clear();

Poznámky

Voláním této metody odeberete veškerý obsah z galerie pásu karet. Musíte to udělat, než připojíte novou galerii pásu karet nebo sadu skupin do galerie pásu karet.

CMFCRibbonGallery::CMFCRibbonGallery

Vytvoří a inicializuje CMFCRibbonGallery objekt.

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);

Parametry

Nid
Určuje ID příkazu, které se má spustit, když uživatel klikne na tlačítko.

lpszText
Určuje text, který se má zobrazit na tlačítku.

nSmallImageIndex
Index malého obrázku založený na nule, který se zobrazí na tlačítku.

nLargeImageIndex
Index velkého obrázku založený na nule, který se zobrazí na tlačítku.

imagesPalette
Odkaz na CMFCToolBarImages objekt, který obsahuje obrázky, které se zobrazí v galerii.

uiImagesPaletteResID
ID prostředku seznamu obrázků, které se mají zobrazit v galerii.

cxPaletteImage
Určuje šířku obrázku v pixelech v galerii.

sizeIcon
Určuje velikost obrázku galerie v pixelech.

nIconsNum
Určuje počet ikon v galerii.

bDefaultButtonStyle
Určuje, jestli se má použít výchozí nebo styl tlačítka nakreslený vlastníkem.

Poznámky

CMFCRibbonGallery::EnableMenuResize

Povolí nebo zakáže změnu velikosti panelu nabídek.

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

Parametry

bEnable
[v] TRUE pro povolení změny velikosti nabídky; jinak NEPRAVDA.

bVertcalOnly
[v] PRAVDA, pokud chcete určit, že galerii lze změnit pouze svisle; NEPRAVDA, pokud chcete určit, že galerii lze změnit svisle i vodorovně.

Poznámky

Tuto metodu použijte k povolení nebo zakázání změny velikosti galerie pásu karet. Po povolení změny velikosti se v galerii pásu karet zobrazí úchyt, který může uživatel použít ke změně velikosti.

CMFCRibbonGallery::EnableMenuSideBar

Povolí nebo zakáže boční panel vlevo od místní nabídky.

void EnablMenuSideBar(BOOL bEnable=TRUE);

Parametry

bEnable
[v] PRAVDA, pokud chcete určit, že boční panel je povolen; jinak NEPRAVDA.

Poznámky

Voláním této metody povolíte nebo zakážete boční panel ve stylu Office XP na levé straně nabídky.

CMFCRibbonGallery::GetCompactSize

virtual CSize GetCompactSize(CDC* pDC);

Parametry

[v] pDC

Návratová hodnota

Poznámky

CMFCRibbonGallery::GetDroppedDown

virtual CMFCRibbonBaseElement* GetDroppedDown();

Návratová hodnota

Poznámky

CMFCRibbonGallery::GetGroupName

Vrátí název skupiny, která se nachází v zadaném indexu.

LPCTSTR GetGroupName(int nGroupIndex) const;

Parametry

nGroupIndex
[v] Určuje index založený na nule pro skupinu, jejíž název chcete načíst.

Návratová hodnota

Název skupiny umístěné v zadaném indexu. Předání neplatného indexu způsobí neúspěšný kontrolní výraz.

Poznámky

CMFCRibbonGallery::GetGroupOffset

virtual int GetGroupOffset() const;

Návratová hodnota

Poznámky

CMFCRibbonGallery::GetIconsInRow

Vrátí počet položek v řádku galerie pásu karet.

int GetIconsInRow() const;

Návratová hodnota

Počet položek v řádku

Poznámky

CMFCRibbonGallery::GetItemToolTip

Vrátí text popisu, který je přidružený k položce v galerii.

LPCTSTR GetItemToolTip(int nItemIndex) const;

Parametry

nItemIndex
[v] Určuje nulový index položky, pro kterou se má načíst text popisu.

Návratová hodnota

Ukazatel na řetězec popisu přiřazený k položce v galerii pásu karet Pokud k této položce není přiřazen žádný popis, může mít hodnotu NULL.

Poznámky

CMFCRibbonGallery::GetLastSelectedItem

Vrátí index poslední položky v galerii pásu karet, kterou uživatel vybral.

static int GetLastSelectedItem(UINT uiCmdID);

Parametry

uiCmdID
[v] Určuje ID příkazu položky nabídky, která otevřela galerii pásu karet.

Návratová hodnota

Když uživatel vybere libovolnou položku v galerii pásu karet, knihovna odešle zprávu WM_COMMAND spolu s ID příkazu tlačítka nabídky, které otevřela galerii pásu karet.

Poznámky

CMFCRibbonGallery::GetPaletteID

Vrátí ID příkazu aktuální palety.

int GetPaletteID() const;

Návratová hodnota

ID příkazu aktuálně vybrané palety.

Poznámky

CMFCRibbonGallery::GetRegularSize

virtual CSize GetRegularSize(CDC* pDC);

Parametry

[v] pDC

Návratová hodnota

Poznámky

CMFCRibbonGallery::GetSelectedItem

int GetSelectedItem() const;

Návratová hodnota

Poznámky

CMFCRibbonGallery::HasMenu

virtual BOOL HasMenu() const;

Návratová hodnota

Poznámky

CMFCRibbonGallery::IsButtonMode

Určuje, jestli je paleta obsažena v tlačítku galerie.

BOOL IsButtonMode() const;

Návratová hodnota

TRUE, pokud se paleta zobrazí jako tlačítko rozevírací nabídky; NEPRAVDA, pokud se paleta zobrazí přímo na pásu karet.

Poznámky

CMFCRibbonGallery::IsMenuResizeEnabled

Určuje, jestli je povolená změna velikosti nabídky.

BOOL IsMenuResizeEnabled() const;

Návratová hodnota

TRUE, pokud byla povolena změna velikosti nabídky; jinak NEPRAVDA.

Poznámky

CMFCRibbonGallery::IsMenuResizeVertical

BOOL IsMenuResizeVertical() const;

Návratová hodnota

Poznámky

CMFCRibbonGallery::IsMenuSideBar

Určuje, jestli je boční panel povolený nebo zakázaný.

BOOL IsMenuSideBar() const;

Návratová hodnota

TRUE, pokud je boční panel ve stylu Office XP nakreslen na levé straně místní nabídky; jinak NEPRAVDA.

Poznámky

CMFCRibbonGallery::OnAfterChangeRect

virtual void OnAfterChangeRect(CDC* pDC);

Parametry

[v] pDC

Poznámky

CMFCRibbonGallery::OnDraw

virtual void OnDraw(CDC* pDC);

Parametry

[v] pDC

Poznámky

CMFCRibbonGallery::OnDrawPaletteIcon

Volá se podle architektury při vykreslení ikony galerie.

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

Parametry

pDC
[v] Ukazatel na kontext zařízení, který se používá pro kreslení.

rectIcon
[v] Určuje ohraničující obdélník ikony, který se má nakreslit.

nIconIndex
[v] Určuje index založený na nule v seznamu obrázků ikon galerie, které se mají nakreslit.

pIcon
[v] Ukazatel na ikonu, která je nakreslená.

clrText
[v] Určuje barvu textu položky, která se má nakreslit.

Poznámky

Tuto metodu můžete přepsat v odvozené třídě a přizpůsobit tak vzhled galerie pásu karet.

CMFCRibbonGallery::OnEnable

virtual void OnEnable(BOOL bEnable);

Parametry

[v] bEnable

Poznámky

CMFCRibbonGallery::OnRTLChanged

virtual void OnRTLChanged(BOOL bIsRTL);

Parametry

[v] bIsRTL

Poznámky

CMFCRibbonGallery::RedrawIcons

Překreslí galerii.

void RedrawIcons();

Poznámky

Voláním této funkce překreslíte galerii. Tuto metodu je nutné volat, pokud jste změnili obsah galerie za běhu.

CMFCRibbonGallery::RemoveItemToolTips

Odebere popisy ze všech položek v galerii.

void RemoveItemToolTips();

Poznámky

CMFCRibbonGallery::SelectItem

void SelectItem(int nItemIndex);

Parametry

[v] nItemIndex

Poznámky

CMFCRibbonGallery::SetACCData

Naplní zadaný CAccessibilityData objekt pomocí dat přístupnosti z galerie pásu karet.

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

Parametry

pParent
[v] Nadřazené okno okna galerie pásu karet

data
[ven] CAccessibilityData Objekt, který přijímá data přístupnosti z galerie pásu karet

Návratová hodnota

Poznámky

TRUE, pokud je metoda úspěšná; jinak NEPRAVDA.

CMFCRibbonGallery::SetButtonMode

Určuje, zda se má galerie pásu karet zobrazit jako rozevírací tlačítko nebo jako paleta přímo na pásu karet.

void SetButtonMode(BOOL bSet=TRUE);

Parametry

bSet
[v] TRUE pro zobrazení galerie pásu karet jako rozevírací nabídky tlačítko; NEPRAVDA pro zobrazení obsahu galerie pásu karet přímo na pásu karet.

Poznámky

CMFCRibbonGallery::SetGroupName

Nastaví název skupiny.

void SetGroupName(
    int nGroupIndex,
    LPCTSTR lpszGroupName);

Parametry

nGroupIndex
[v] Určuje index založený na nule pro skupinu, pro kterou se název mění.

lpszGroupName
[v] Určuje nový název skupiny.

Poznámky

Skupina, jejíž název se mění, musí být přidána pomocí CMFCRibbonGallery::AddGroup metoda.

CMFCRibbonGallery::SetIconsInRow

Určuje počet položek na řádek v galerii.

void SetIconsInRow(int nIconsInRow);

Parametry

nIconsInRow
[v] Určuje počet položek, které se mají zobrazit v každém řádku galerie.

Poznámky

Tuto metodu použijte k určení šířky galerie pásu karet.

CMFCRibbonGallery::SetItemToolTip

Nastaví text popisu položky v galerii.

void SetItemToolTip(
    int nItemIndex,
    LPCTSTR lpszToolTip);

Parametry

nItemIndex
[v] Index palety založený na nule, ke kterému se má popis přidružit.

lpszToolTip
[v] Text, který se má zobrazit v popisu

Poznámky

CMFCRibbonGallery::SetPalette

Připojí paletu k galerii pásu karet.

void SetPalette(CMFCToolBarImages& imagesPalette);

void SetPalette(
    UINT uiImagesPaletteResID,
    int cxPaletteImage);

Parametry

imagesPalette
[v] Určuje seznam obrázků, který obsahuje ikony, které se mají zobrazit v galerii.

uiImagesPaletteResID
[v] Určuje ID prostředku seznamu obrázků, který obsahuje ikony, které se mají zobrazit v galerii.

cxPaletteImage
[v] Určuje šířku obrázku v pixelech v galerii.

Poznámky

CMFCRibbonGallery::SetPaletteID

Definuje ID příkazu, které se odešle ve zprávě WM_COMMAND, když uživatel vybere položku galerie.

void SetPaletteID(UINT nID);

Parametry

Nid
[v] Určuje ID příkazu, které se odešle ve zprávě WM_COMMAND, když uživatel vybere položku galerie.

Poznámky

Chcete-li určit konkrétní položku, kterou uživatel vybral z galerie, zavolejte CMFCRibbonGallery::GetLastSelectedItem statická metoda.

Viz také

Graf hierarchie
Třídy
CMFCRibbonButton – třída
CMFCRibbonGalleryMenuButton – třída